Javascript循环json的值,并在条件满足时应用

时间:2011-09-29 16:36:26

标签: javascript json

如果我有以下JSON,

[{},{"param":"#content","value":"K2-12M","quantity":1,"q_id":3,"clear":1}
{"param":"#content","value":"K2-12F","quantity":2,"q_id":3,"clear":0}]

在js / jquery中,我将如何循环,如果任何项目有"clear":0,那么将所有项目设置为"clear":0

2 个答案:

答案 0 :(得分:3)

var clear;
for( var i=0, l=json.length; i<l; i++ ){
    if( 0 === json[i].clear ){
        clear = true;
        break;
    }
}

if( clear ){
    for( i=0; i<l; i++) {
        json[i].clear = 0;
    }
}

或使用jQuery(效率较低):

$( json ).filter(
    function( ix, obj ){
        return 0 === obj.clear;
    }
).length
    && $( json ).each(
        function( ix, obj ){
            obj.clear = 0;
        }
    );

答案 1 :(得分:1)

嵌套for循环:

for(var i = 0, l = json.length; i < l; i++ ){
    if(json[i].clear == 0){
        for(var x = 0; x < l; x++) {
            json[x].clear = 0;
        }
        break;
    }
}

Fiddle为你的小小乐趣。