循环通过一个数组并返回一组连接在一个变量中的数组索引值

时间:2012-10-21 12:52:02

标签: javascript arrays boolean-operations

问题不是那么相关,但我想要实现的是下一个:

var some_array = [Modernizr.json, Modernizr.csstransforms];

var tests = function() {
    for (var i = some_array .length - 1; i >= 0; i--) {
       ...
    };

    return  Modernizr.json && Modernizr.csstransforms;
};

我一直在思考那些我试图向你展示的逻辑,但我无法弄明白。基本上我需要循环测试数组并在测试之间返回一个布尔操作,更具体地说我想要获取数组[Modernizr.json, Modernizr.csstransforms]并且我想返回Modernizr.json && Modernizr.csstransforms等等(如果有的话)数组中的更多值。)

3 个答案:

答案 0 :(得分:1)

如果要检查数组中的所有值是否都为真,可以执行以下操作:

var some_array = [Modernizr.json, Modernizr.csstransforms];

var tests = function() {
    var result = true;
    for (var i = some_array .length - 1; i >= 0; i--) {
        result = result && some_array[i];
    };
    return result;
};

答案 1 :(得分:1)

使用reduce

return some_array.reduce(function(a, b){ return a && b; });

reduceRight如果你想向后迭代。

如果您想在遇到假值时断开循环,您还可以使用every

答案 2 :(得分:0)

根据@ Bergi的回答,我找到了一个很好的解决方案,我找到了什么:

some_array.reduce(function(previousValue, currentValue, index, array){
    return previousValue && currentValue;
});