在Javascript

时间:2016-03-16 14:36:57

标签: javascript arrays

我想在数组中搜索具有相同值的多个键。 示例:我有一个包含19行的对象:

1: {
    numbers: [], 
    count: 5, 
    check: {
        0: true, 
        1: false, 
        2: true, 
        3: false, 
        4: true, 
        5: false, 
        6: true, 
        7: false, 
        8: true, 
    }
},
2: {
    numbers: [], 
    count: 5, 
    check: {
        0: false, 
        1: true, 
        2: false, 
        3: true,     
        4: false, 
        5: true, 
        6: false, 
        7: false, 
        8: true, 
    }
},

我希望在1: true6: false时返回一行。这就是我现在所做的:

for (y in rows[x]['check']) {
    if (rows[x]['check'][y] == false) {
        var correctRow =  rows[x]['numbers'];
    }
}

这循环遍历我只能搜索带有值的1个键的行。但是我需要搜索具有特定值的2个键。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

你的问题有点令人困惑,但是下面的javascript将搜索你的起始对象并将符合条件的子对象推送.check [1] == true和.check [6] == false到一个新数组中,假设' obj'是你帖子中的对象:

var correct = [];

for (row in Object.keys(obj)) {

   var surr_row = Number(row) + 1,
       temp = obj[surr_row];

       if (temp.check['1'] == true && temp.check['6'] == false) {
          correct.push(temp);
       }
    }
}

不确定它是不是你想要的......