从主数组创建一个较小的数组

时间:2016-06-20 16:27:07

标签: javascript arrays

我有一系列产品。我想创建第二个数组,只有当第一个数组中的每个项都符合条件时才会填充该数组。 我知道我可以使用 for 循环,但我希望我可以使用其中一种新的数组方法( map,some,find,reduce )但是一直没有成功远。 我有这个:

var topProducts = products.find(function (product) {
    if (product.importance === importance) {
        return product;
    }
});

但它只返回它找到的第一个产品。我希望它能够返回它找到的所有产品(产品阵列中的所有产品都不会出现。

2 个答案:

答案 0 :(得分:2)

非常适合使用Array#filter过滤。

  

filter() 方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。

var topProducts = products.filter(function (product) {
    return product.importance === importance;
});

答案 1 :(得分:0)

查看功能范例filter