我需要将数字与数组内的元素进行比较。我正在尝试循环数组,但它不起作用。我在这里举了一个例子。我在想如果我在数组中找到相同的数字它就会起作用。我的意思是我期望示例中的蓝色,但它是黄色的。我怎样才能让它工作?
var rain = [1072,1050,1053,1168,1080,1183,1171,1063,1083,1086,1089,1240,1273];
var number = 1072;
for (var j = 0; j < rain.length; j++) {
if (number == rain[j]) {
$('body').css('background', 'blue');
} else {
$('body').css('background', 'yellow');
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
最佳答案
它是黄色的,因为您的 for
循环仍在运行,即使在找到 1072
后也是如此。基本上,如果 rain
数组中的最后一个元素与给定的 number
相同,并且只有最后一个元素与给定的 number
相同,则您的函数会更改颜色,因为它是在for
循环。
如果您希望循环在找到号码时停止,您可以在其中添加返回语句。
但是还有其他两种方法:
if(rain.indexOf(number) !== -1){
//change color to yellow
}else{
//change color to blue
}
或者,正如 Sterling Archer 所说,使用 includes
关于javascript - 获取数组内的元素并与数字进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41774043/