2016-03-16 97 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); 
     } 
    } 
} 

不知道這是你在找什麼,但...