繁体   English   中英

在迭代过程中将数组与var比较(续)

[英]Comparing array to var during iteration(cont.)

所以这是我的问题。可能会很累,但是,仅当数组中未出现数字时,我才想反++。

这意味着在4次迭代中,counter应该仅在迭代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);

但是我在这里画一个空白...帮助吗?

(不,这不是功课)

不幸的是,JS没有“ 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”数组中。

EDIT相反,只是添加了bool来检查是否存在。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM