0

それはそれほど関連性がありませんが、私が達成したいのは次の質問です:

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ように続きます(配列にさらに値がある場合)。

4

3 に答える 3

1

配列内のすべての値がtrueであるかどうかを確認する場合は、次のように実行できます。

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;
};
于 2012-10-21T13:24:43.140 に答える
1

使用reduce

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

またはreduceRight、逆方向に反復する場合。

偽の値が検出されたときにループを中断したい場合は、を使用することもできますevery

于 2012-10-21T13:35:21.283 に答える
0

@Bergiの答えに基づいて、私が探していたものに対する良い解決策を見つけました:

some_array.reduce(function(previousValue, currentValue, index, array){
    return previousValue && currentValue;
});
于 2012-10-21T14:03:53.923 に答える