Javascript 算术顺序:使用apply或map代替for循环

Javascript 算术顺序:使用apply或map代替for循环,javascript,sequence,apply,Javascript,Sequence,Apply,我有这样一个for循环: var myary = []; for(i=0; i<3; i++){ myary[i] = i; } //yields [0, 1, 2] var myary=[]; 对于(i=0;iES5中没有干净、简单的功能解决方案。以下是我所拥有的最简单的解决方案: var myary = Array.apply(0,Array(N)).map(function(_,i){return i}); 编辑:请注意,这种表达式虽然有时很方便,但速度可能非常慢。我之所以使

我有这样一个for循环:

var myary = [];
for(i=0; i<3; i++){
  myary[i] = i;
}
//yields [0, 1, 2]
var myary=[];

对于(i=0;iES5中没有干净、简单的功能解决方案。以下是我所拥有的最简单的解决方案:

var myary = Array.apply(0,Array(N)).map(function(_,i){return i});

编辑:请注意,这种表达式虽然有时很方便,但速度可能非常慢。我之所以使用这种表达式,是因为性能问题。旧样式和枯燥的for循环通常会快得多。

[].map.call(Array(10)+1,Function.call.bind(Number))
Object.keys(Object(Array(10)+0)).map(Number)
检查@Bergi的可能重复项您没有以重复项结束问题的任何原因?虽然可能不“干净”或“简单”,但我发现这是可读的。
Function.call.bind(Number)
是获取参数的好方法[1]如果没有自定义…@jml以防万一,您可能需要检查我的编辑,这样您就不会在以后痛苦地发现应用程序速度减慢的原因。