Javascript 从主阵列创建较小的阵列
我有一系列的产品。我想创建第二个数组,仅当第一个数组中的每个项目都符合条件时,才会填充该数组。 我知道我可以使用for循环,但我希望我可以使用一种新的数组方法(map,some,find,reduce),但到目前为止都没有成功。 我有这个:Javascript 从主阵列创建较小的阵列,javascript,arrays,Javascript,Arrays,我有一系列的产品。我想创建第二个数组,仅当第一个数组中的每个项目都符合条件时,才会填充该数组。 我知道我可以使用for循环,但我希望我可以使用一种新的数组方法(map,some,find,reduce),但到目前为止都没有成功。 我有这个: var topProducts = products.find(function (product) { if (product.importance === importance) { return product; } }
var topProducts = products.find(function (product) {
if (product.importance === importance) {
return product;
}
});
但它只是返回它找到的第一个产品。我希望它返回找到的所有产品(这永远不会是产品阵列中的所有产品。它非常适合使用进行过滤
filter()
方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素
这是完美的过滤功能
filter()
方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素
查看函数范例查看函数范例顺便说一句,find的回调应该返回布尔值。方法本身返回元素,如果
true
,否则未定义
btw,find的回调应该返回布尔值。方法本身返回元素,如果true
,否则未定义
var topProducts = products.filter(function (product) {
return product.importance === importance;
});