算术序列:使用 apply 或 map 而不是 for 循环
arithmetic sequence: use apply or map instead of for loop
我有一个这样的 for 循环:
var myary = [];
for(i=0; i<3; i++){
myary[i] = i;
}
//yields [0, 1, 2]
我想用 myary.apply()
或等效的函数来完成相同的操作,但我不熟悉通过 JavaScript 中的函数方法生成算术序列。
这可能吗?
ES5 中没有干净简单的功能解决方案。这是我最简单的:
var myary = Array.apply(0,Array(N)).map(function(_,i){return i});
编辑:请注意,这种表达式虽然有时很方便,但速度可能很慢。 This commit 我的动机是性能问题。旧式和无聊的 for 循环通常可以更快。
我有一个这样的 for 循环:
var myary = [];
for(i=0; i<3; i++){
myary[i] = i;
}
//yields [0, 1, 2]
我想用 myary.apply()
或等效的函数来完成相同的操作,但我不熟悉通过 JavaScript 中的函数方法生成算术序列。
这可能吗?
ES5 中没有干净简单的功能解决方案。这是我最简单的:
var myary = Array.apply(0,Array(N)).map(function(_,i){return i});
编辑:请注意,这种表达式虽然有时很方便,但速度可能很慢。 This commit 我的动机是性能问题。旧式和无聊的 for 循环通常可以更快。