📅  最后修改于: 2023-12-03 15:17:02.244000             🧑  作者: Mango
在开发 web 应用程序时,通常需要对数据进行筛选和过滤。在 Javascript 中,一种常见的数据结构是对象数组,而过滤对象数组是常见的操作之一。
Javascript 提供了 filter()
方法,可以用于从数组中过滤元素。
array.filter(function(currentValue, index, arr), thisValue)
其中,参数 currentValue
表示当前元素的值,参数 index
表示当前元素在数组中的下标,参数 arr
表示当前数组对象。thisValue
为 filter()
方法内部 this
的值,可选。
let fruits = [
{ name: "apple", color: "red" },
{ name: "banana", color: "yellow" },
{ name: "orange", color: "orange" },
{ name: "watermelon", color: "green" }
];
let filteredFruits = fruits.filter(function(fruit) {
return fruit.color === "yellow";
});
console.log(filteredFruits); // [{ name: "banana", color: "yellow" }]
除了使用 filter()
方法,我们也可以使用普通的 for 循环遍历数组进行过滤操作。
let fruits = [
{ name: "apple", color: "red" },
{ name: "banana", color: "yellow" },
{ name: "orange", color: "orange" },
{ name: "watermelon", color: "green" }
];
let filteredFruits = [];
for (let i = 0; i < fruits.length; i++) {
if (fruits[i].color === "yellow") {
filteredFruits.push(fruits[i]);
}
}
console.log(filteredFruits); // [{ name: "banana", color: "yellow" }]
以上就是两种常见的在 Javascript 中按值过滤对象数组的方法。如果您有更好的方法,也欢迎在评论区留言,与大家分享。