如何使用数组方法返回数组对象中的指定属性而非全部属性?
如何结合箭头函数筛选数组并返回指定属性的对象?
嗨,这个需求很容易实现~你可以在filter之后链式调用map方法,先筛选出符合数量条件的项,再把它们转换成只包含目标属性的新对象。
完整代码示例如下:
const inventory = [ {name: 'apples', quantity: 2, type: 'a'}, {name: 'bananas', quantity: 0, type: 'a'}, {name: 'cherries', quantity: 5, type: 'a'}, {name: 'mangos', quantity: 5, type: 'a'} ]; const result = inventory .filter(fruit => fruit.quantity === 5) .map(fruit => ({ name: fruit.name, type: fruit.type })); console.log(result); // 输出: [{name: 'cherries', type: 'a'}, {name: 'mangos', type: 'a'}]
简单拆解下逻辑:
- 第一步用
filter:通过箭头函数筛选出所有quantity等于5的水果对象,这部分和你原本的筛选逻辑一致; - 第二步用
map:同样用箭头函数遍历筛选后的数组,每个元素都返回一个只包含name和type属性的新对象(注意这里箭头函数返回对象时要加小括号,避免被JS当成代码块解析)。
这样就能精准得到你想要的输出结果啦!
内容的提问来源于stack exchange,提问作者user9686855
相关产品推荐
相关产品推荐

