有没有办法将整数与整数数组进行比较?例如,要确定一个 int 是否大于任何数组 int?
var array = [1, 2, 3, 4];
if(5 > array){
// do something
}
更新:我想我的意思是,比数组中的最大数大 5。谢谢!
有没有办法将整数与整数数组进行比较?例如,要确定一个 int 是否大于任何数组 int?
var array = [1, 2, 3, 4];
if(5 > array){
// do something
}
更新:我想我的意思是,比数组中的最大数大 5。谢谢!
if (5 > Math.max.apply(Math, array)) {
// do something
}
更新:解释它的工作原理。它在我链接的文档中有所描述,但我会在这里尝试更清楚:
Math.max
返回零个或多个数字中的最大值,因此:
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));
不同之处在于您传递了一个数组。
希望现在更清楚了!
没有内置的好和可读的方法,但可以简单地通过以下方式完成:
var bigger = true;
for (var i =0; i < array.length; i++) {
if (5 <= array[i]) {
bigger = false;
// you can add here : break;
}
}
当然,你可以对数组进行排序,取最后一个元素,看看你的整数是否大于那个。或者,您可以循环并检查每一个。由你决定。循环是一种更高效的方式。
//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
}