Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在迭代期间将数组与var进行比较(续)_Javascript - Fatal编程技术网

Javascript 在迭代期间将数组与var进行比较(续)

Javascript 在迭代期间将数组与var进行比较(续),javascript,Javascript,这就是我的问题。。可能只是累了,但我只想在数组中并没有出现数字的情况下计数器指向+ 也就是说,在4次迭代中,计数器应该只在迭代1,3,4中使用++ var array = [], number, temp = [4,2,5,9], counter = 0; for(var i = 0; i <= 3; i += 1) { array.push(i); number = temp[i]; } document.write(counter); var数组=[],数字,temp

这就是我的问题。。可能只是累了,但我只想在数组中并没有出现数字的情况下计数器指向+

也就是说,在4次迭代中,计数器应该只在迭代1,3,4中使用++

var array = [], number, temp = [4,2,5,9], counter = 0;
for(var i = 0; i <= 3; i += 1) {
    array.push(i);
    number = temp[i];
}
document.write(counter);
var数组=[],数字,temp=[4,2,5,9],计数器=0;
对于(var i=0;i不幸的是,JS没有“in_数组”,但它非常简单:
@MikeSamuel指出您可以使用indexOf(谢谢Mike)。因此:

var array = [], number, temp = [4,2,5,9], counter = 0;
for(var i = 0; i <= 3; i += 1) {
    array.push(i);
    number = temp[i];
    if (temp.indexOf(i)==-1) // much simpler, assuming you're checking if i is in temp.
      counter++; // increase counter if it is not.
}
document.write(counter);
var数组=[],数字,temp=[4,2,5,9],计数器=0;
对于(var i=0;i
if(array.indexOf(number)<0)
计数器++;

Array.prototype.indexOf
是在ES5中定义的。如果你正在测试包容,你不需要在匹配中
中断
,这样当
temp
包含重复项时就不会过度计数吗?@MikeSamuel:我不知道indexOf有数组的原型。很高兴知道。我改变了循环(虽然现在我知道indexOf可以工作了,我将再次修改它)。谢谢。请注意,jQuery提供了和in_数组函数。。。
if (array.indexOf(number) < 0)
    counter++;