在追加数字时我应该使用什么而不是“for”循环?

时间:2017-12-05 04:25:27

标签: javascript

我听说JavaScript中的@循环是passé,不应该用于支持其他更清晰的替代方案。 JSLint甚至在遇到错误时抛出错误(当然,除非你覆盖它)。我理解在情况允许的情况下使用for(){...},但在此实例中 我可以使用哪种替代方案“更清晰”?

Array.prototype.forEach()

var number = 5; for (var i=0; i <= number; i++){ log("somestring" + i); } 我会使用C#而不是foreach(){...} - 但我知道在JavaScript中没有这样的选择。我可以创建一个数字0 ... 5的数组,但这似乎走了很长的路没有收获。

修改1

我不是在寻找一个替代插件来实现这个,如lodash或jQuery,我的问题实际上不是“为什么JSLint ......”。我会使用原生JavaScript 替代方案吗?

2 个答案:

答案 0 :(得分:1)

return在javascript循环之间不是一个好主意。由于相同的原因,您可以使用breakcontinue来破坏两者之间的执行。还可以获取数据foreach jquery也允许对象映射如下所示。 并根据下面给出的功能,将每个值作为动态字符串获取。

var number = 5;
var toReturn = function(){
var ar_data = []; 
for (var i=0; i <= number; i++){ 
    ar_data[i] = "somestring" + i;  // Store your dynamic string into a variable
}
return ar_data; // return array 
}
var data = toReturn(number);

for(dt in data) // foreach type object mapping and tracing 
{
console.log(data[dt]); //print the individual item in array.
}

答案 1 :(得分:0)

如果您使用数组存储数字,请使用provider

gameId

编辑:问题是,如果你不想使用数组,那么for循环将是最具可读性的。我的建议是忽略JSLint所说的内容。

我刚发布另一条建议。它使用数组索引生成数组:

.reduce()