相关疑难解决方法(0)

是否存在在ES6(ECMAScript 6)中循环x次而没有可变变量的机制?

x在JavaScript中循环时间的典型方法是:

for (var i = 0; i < x; i++)
  doStuff(i);
Run Code Online (Sandbox Code Playgroud)

但我不想使用++运算符或根本没有任何可变变量.那么,在ES6中,有x另一种方式循环时间吗?我喜欢Ruby的机制:

x.times do |i|
  do_stuff(i)
end
Run Code Online (Sandbox Code Playgroud)

在JavaScript/ES6中有类似的东西吗?我可以作弊并制造自己的发电机:

function* times(x) {
  for (var i = 0; i < x; i++)
    yield i;
}

for (var i of times(5)) {
  console.log(i);
}
Run Code Online (Sandbox Code Playgroud)

我当然还在用i++.至少它看不见:),但我希望在ES6中有更好的机制.

javascript generator ecmascript-harmony ecmascript-6

132
推荐指数
11
解决办法
7万
查看次数

在Python中将列表迭代为对(当前,下一个)

我有时需要在Python中迭代一个列表,查看"current"元素和"next"元素.到目前为止,我已经完成了以下代码:

for current, next in zip(the_list, the_list[1:]):
    # Do something
Run Code Online (Sandbox Code Playgroud)

这有效并且符合我的预期,但是有更多惯用或有效的方法来做同样的事情吗?

python

121
推荐指数
7
解决办法
4万
查看次数

如何在JavaScript中压缩两个数组?

我有2个数组:

var a = [1, 2, 3]
var b = [a, b, c]
Run Code Online (Sandbox Code Playgroud)

我想得到的结果是:

[[1, a], [2, b], [3, c]]
Run Code Online (Sandbox Code Playgroud)

这看起来很简单,但我无法弄清楚.

我希望结果是一个数组,两个数组中的每个元素都压缩在一起.

javascript arrays

83
推荐指数
3
解决办法
7万
查看次数

为什么流行音乐比移动快?

JavaScript中的道格拉斯·克罗克福德(Douglas Crockford)表示"转变通常比流行音乐慢得多".jsPerf 证实了这一点.有谁知道为什么会这样?从一个不成熟的角度来看,他们似乎做了几乎相同的事情.

javascript performance

29
推荐指数
3
解决办法
2万
查看次数

配对Haskell中的相邻列表项

我有一个链式列表

["root", "foo", "bar", "blah"]
Run Code Online (Sandbox Code Playgroud)

我想使用相邻的对将其转换为元组列表.像这样

[("root", "foo"), ("foo", "bar"), ("bar", "blah")]
Run Code Online (Sandbox Code Playgroud)

目前,我正在使用它来做到这一点:

 zipAdj x = tail (zip ("":x) (x++[""]))
Run Code Online (Sandbox Code Playgroud)

但是,我真的不喜欢这种方法.谁能想到更好的方法?如果我很明显地道歉,我对Haskell来说还是比较新的.

zip haskell list

11
推荐指数
2
解决办法
1975
查看次数

如何获取所有数组JavaScript对

我需要调用所有可用的数组元素对的函数.像这样:

    [1, 2, 3].pairs(function(pair){
           console.log(pair); //[1,2], [1,3], [2,3]
    });
Run Code Online (Sandbox Code Playgroud)

javascript

4
推荐指数
3
解决办法
6410
查看次数

JavaScript:从值数组中创建一个值对的数组

是否有一种优雅,功能性的方式来转换这个数组:

[ 1, 5, 9, 21 ]

进入这个

[ [1, 5], [5, 9], [9, 21] ]

我知道我可以forEach使用数组并收集值来创建一个新数组._.lodash没有使用forEach?有一种优雅的方式吗?

javascript arrays functional-programming underscore.js lodash

4
推荐指数
2
解决办法
162
查看次数