【发布时间】:2019-12-22 16:57:55
【问题描述】:
我有一个对象如下图:
var obj = [
{id: 1, name: 'AD', key: 10},
{id: 2, name: 'AD', key: 20},
{id: 3, name: 'BD', key: 30},
{id: 4, name: 'CD', key: 40}
];
我想过滤并创建一个满足任何条件的新数组。例如:过滤名称为“AD”的过滤器并创建一个新的键数组:
[10, 20]
试过.map
obj.map(ele => {
return ele.name === 'AD' ? ele.key : null;
}); //it adds even nulls in the result array as [10, 20, null, null]
试过.filter:
obj.filter(ele => {
return ele.name === 'AD' ? ele.key : null;
});
Result: [{id: 1, name: "AD", key: 10}, {id: 2, name: "AD", key: 20}] //gives array of objects, not what I'm expecting.
提前致谢
【问题讨论】:
-
结合使用这些。
map在filter之后
标签: javascript arrays filter