[英]Filtering results of JSON Object
var employees = {
"staff": [
{"name": "Bob", "gender": "Male"},
{"name": "Sue", "gender": "Female"},
{"name": "Eric", "gender": "Male"},
{"name": "Jo", "gender": "Female"}
]
}
遍歷此json結構后,是否有一種方法可以根據性別選擇有選擇地刪除整行? 理想情況下,我想要一個新的對象,但沒有任何男性,例如。
有.filter()
函數:
employees.staff = employees.staff.filter(function(e) { return e.gender !== "Male"; });
.filter()
方法適用於較新版本的JavaScript(現代瀏覽器)中的數組。 對於較舊的瀏覽器, 有一個polyfill可用 。
使用$ .grep() - 由於IE <9支持,不使用Array.filter()
var females = $.grep(employees.staff, function (obj) {
console.log(this, arguments)
return obj.gender == "Female"
})
console.log(females)
另一種解決方案是將Array.filter()與pollyfill一起使用
employees.staff = filter(employees.staff, "Female");
function filter(data, filter) {
return data.filter(function(row) {
return row.gender === filter;
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.