Nếu bạn có một mảng chẳng hạn như
var people = [
{ "name": "bob", "dinner": "pizza" },
{ "name": "john", "dinner": "sushi" },
{ "name": "larry", "dinner": "hummus" }
];
Bạn có thể sử dụng filter
phương thức của một đối tượng Array:
people.filter(function (person) { return person.dinner == "sushi" });
// => [{ "name": "john", "dinner": "sushi" }]
Trong các triển khai JavaScript mới hơn, bạn có thể sử dụng biểu thức hàm:
people.filter(p => p.dinner == "sushi")
// => [{ "name": "john", "dinner": "sushi" }]
Bạn có thể tìm kiếm những người đã "dinner": "sushi"
sử dụngmap
people.map(function (person) {
if (person.dinner == "sushi") {
return person
} else {
return null
}
}); // => [null, { "name": "john", "dinner": "sushi" }, null]
hoặc một reduce
people.reduce(function (sushiPeople, person) {
if (person.dinner == "sushi") {
return sushiPeople.concat(person);
} else {
return sushiPeople
}
}, []); // => [{ "name": "john", "dinner": "sushi" }]
Tôi chắc rằng bạn có thể tổng quát điều này thành các khóa và giá trị tùy ý!