Javascript - 将整数与整数数组进行比较

时间:2012-06-06 23:33:45

标签: javascript arrays

有没有办法将整数与整数数组进行比较?例如,确定int是否大于任何数组int?

var array = [1, 2, 3, 4];
if(5 > array){ 
    // do something 
}

更新:我想我的意思是,比数组中的最大数字大5。谢谢!

3 个答案:

答案 0 :(得分:8)

您可以使用Math.maxapply

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
}