为什么第二次迭代通过?它的索引是1,但它传递if
条件并写入控制台。
var array = [1,1];
array.forEach(function(number) {
if (array.indexOf(number) == 0 && number == 1)
console.log(number);
});
//console:
// 1
// 1
答案 0 :(得分:1)
Array#indexOf
方法总是返回元素的第一个索引,因为两个元素都相同,总是返回0
。相反,您可以将元素索引作为Array#forEach
方法回调函数中的第二个参数。
var array = [1, 1];
array.forEach(function(number, i) {
if (i == 0 && number == 1)
console.log(number);
});