Javascript JSON对象的筛选结果
在遍历这个json结构之后,是否有一种方法可以根据性别选择选择性地删除整行?理想情况下,我希望有一个新对象,但不要有任何男性对象,例如。有Javascript JSON对象的筛选结果,javascript,jquery,json,object,Javascript,Jquery,Json,Object,在遍历这个json结构之后,是否有一种方法可以根据性别选择选择性地删除整行?理想情况下,我希望有一个新对象,但不要有任何男性对象,例如。有.filter()函数: var employees = { "staff": [ {"name": "Bob", "gender": "Male"}, {"name": "Sue", "gender": "Female"}, {"name": "Eric", "gender": "Male"}, {"name": "Jo", "gender"
.filter()
函数:
var employees = {
"staff": [
{"name": "Bob", "gender": "Male"},
{"name": "Sue", "gender": "Female"},
{"name": "Eric", "gender": "Male"},
{"name": "Jo", "gender": "Female"}
]
}
.filter()
方法可用于更新版本的JavaScript(现代浏览器)中的数组。对于较旧的浏览器,.使用-并没有被使用,因为作为一个参考,您的问题和json无关。您可能已将上述对象检索为json,但它不再是json。这种区别可能会帮助您在将来找到类似问题的答案。
employees.staff = employees.staff.filter(function(e) { return e.gender !== "Male"; });
var females = $.grep(employees.staff, function (obj) {
console.log(this, arguments)
return obj.gender == "Female"
})
console.log(females)
employees.staff = filter(employees.staff, "Female");
function filter(data, filter) {
return data.filter(function(row) {
return row.gender === filter;
});
}