有没有办法将整数与整数数组进行比较?例如,确定int是否大于任何数组int?
var array = [1, 2, 3, 4];
if(5 > array){
// do something
}
更新:我想我的意思是,比数组中的最大数字大5。谢谢!
答案 0 :(得分:8)
if (5 > Math.max.apply(Math, array)) {
// do something
}
更新:解释它的工作原理。它在我链接的文档中有所描述,但我会在这里尝试更清楚:
Math.max
返回0或0以上的最大数字,因此:
Math.max(1, 2, 3, 4) // returns 4
apply
调用具有给定'this'值(第一个参数)的函数和作为数组提供的参数(第二个)。这样:
function sum(a, b) {
return a + b;
}
console.log(sum.apply(window, [2, 3])); // 5
因此,如果你有一个整数数组并且你想得到最大值,你可以将它们组合起来:
console.log(Math.max.apply(Math, [1, 2, 3, 4])); // 4
因为它完全像:
console.log(Math.max(1, 2, 3, 4));
区别在于您传递数组。
希望现在更清楚了!
答案 1 :(得分:1)
没有良好的可读性内置方式,但可以通过以下方式完成:
var bigger = true;
for (var i =0; i < array.length; i++) {
if (5 <= array[i]) {
bigger = false;
// you can add here : break;
}
}
答案 2 :(得分:0)
当然,您可以对数组进行排序,获取最后一个元素,然后查看您的整数是否大于该值。或者,你可以循环并检查每一个。由你决定。循环是一种更高效的方式。
//maybe check the bounds on this if you know it can be a blank array ever
var max = myArray[0];
for(var x = 0; x < myArray.length; x++) {
max = Math.max(max, myArray[x]);
}
if(500 > max) {
//do something
}