我有一系列产品。我想创建第二个数组,只有当第一个数组中的每个项都符合条件时才会填充该数组。 我知道我可以使用 for 循环,但我希望我可以使用其中一种新的数组方法( map,some,find,reduce )但是一直没有成功远。 我有这个:
var topProducts = products.find(function (product) {
if (product.importance === importance) {
return product;
}
});
但它只返回它找到的第一个产品。我希望它能够返回它找到的所有产品(产品阵列中的所有产品都不会出现。
答案 0 :(得分:2)
非常适合使用Array#filter
过滤。
filter()
方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。
var topProducts = products.filter(function (product) {
return product.importance === importance;
});
答案 1 :(得分:0)
查看功能范例filter