2016-03-16 46 views
0

我想在数组中搜索具有相同值的多个键。 例子:我有19行的对象:在Javascript中搜索多个键和值

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个键。

任何帮助表示赞赏。

+3

这有什么好做的阵列,也有你的问题没有列。只有对象。 JavaScript中的数组具有*数字索引*,并使用'[]'而不是'{}'创建。 – meagar

+0

你也不能在JavaScript对象中有“行”,它是一个对象不是表 – Liam

+0

删除了jquery标签,这个问题跟jquery没有关系。 – Liam

回答

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); 
     } 
    } 
} 

不知道这是你在找什么,但...