2014-02-21 123 views
2
var employees = { 
"staff": [ 
    {"name": "Bob", "gender": "Male"}, 
    {"name": "Sue", "gender": "Female"}, 
    {"name": "Eric", "gender": "Male"}, 
    {"name": "Jo", "gender": "Female"}  
    ] 
} 

在遍歷這個json結構後,是否有一種方法可以根據性別選擇有選擇地刪除整行?例如,理想情況下,我希望有一個新對象,但沒有任何男性。JSON對象的過濾結果

+0

只是一個供參考,你的問題無關使用JSON。您可能以json的形式檢索了上述對象,但它不再是json。這種區別可能會幫助您找到未來類似問題的答案。 –

回答

5

還有的.filter()功能:

employees.staff = employees.staff.filter(function(e) { return e.gender !== "Male"; }); 

.filter()方法可用於在JavaScript(現代瀏覽器)的較新版本的陣列。對於較舊的瀏覽器,there is a polyfill available

0
employees.staff = filter(employees.staff, "Female"); 

function filter(data, filter) { 
    return data.filter(function(row) { 
     return row.gender === filter; 
    }); 
}