簡體   English   中英

過濾JSON對象的結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM