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

时间:2011-01-07 20:10:01

标签: 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);

但我在这里画一个空白......帮忙?

(不,这不是作业)

2 个答案:

答案 0 :(得分:0)

不幸的是,

没有“in_array”,但它很直接:
@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);

我不确定哪里你想要逻辑,所以你必须弄明白或更具体。只要知道你需要遍历你正在检查的数组并检查“needle”是否在“haystack”数组中。

编辑如果相反,只需添加bool来检查是否存在。

答案 1 :(得分:0)

if (array.indexOf(number) < 0)
    counter++;