如何在不使用for循环的情况下迭代部分数组

时间:2017-06-20 00:54:38

标签: javascript arrays jslint

我一直在运行某些代码的JSLint,并处理它引发的一些问题。其中之一是

  

意外'为'。

代码必须处理数组的不同子集,具体取决于用户要求的内容。作为一个例子我们可能有

myArray = [1,2,3,4,5,6,7,8,9];
let start = 4;
let finish = 8;
let i;
for (i=start; i<finish;i++) {
    // Do stuff with myArray[4] to myArray[7]
}

JSLint对此构造的反对意见是什么?

如果不使用for循环,我将如何实现?

注意:我知道我可以在JSLint中禁用警告,或者我可以简单地忽略警告,但这只是绕过了问题。

3 个答案:

答案 0 :(得分:1)

您可以使用

myArray.slice(start, finish).forEach(el => {
    …
});

遵守JSlint的规则。

答案 1 :(得分:0)

你可以很容易地用while来完成同样的事情。

myArray = [1,2,3,4,5,6,7,8,9];
let start = 4;
let finish = 8;
let i = start;
while (i < finish) {
  // Do stuff with myArray[4] to myArray[7]
  i++;
}

答案 2 :(得分:0)

老兄,因为你正在吊起“我”。

&#13;
&#13;
var myArray = [1, 2, 3, 4, 5, 6, 7, 8, 9];
let start = 4;
let finish = 8;
for (start; start < finish; start++) {
  console.log(start);
}
&#13;
&#13;
&#13;