Ham*_*oja 6 javascript ecmascript-6
有一个对象数组
const groups = [
{ id: 0, name: "All", selected: false },
{ id: -1, name: "All", selected: true },
{ id: 1, name: "Group1", selected: false },
{ id: 2, name: "Group2", selected: false },
{ id: 3, name: "Group3", selected: false },
{ id: 4, name: "Group4", selected: true }
];
Run Code Online (Sandbox Code Playgroud)
我想用地图从这个对象中提取 ids
groups.map(group => group.id > 0 && group.selected ? group.id:null)
Run Code Online (Sandbox Code Playgroud)
但结果将是 [null,null,4,null...] 实际上它应该是[4]
我知道我可以使用另一个函数,如forEach和push或map和filter,但我会用 map 或其他东西进行一次迭代来解决它。
根据您的条件过滤对象,然后使用地图提取 ID
const groups = [{
id: 0,
name: "All",
selected: false
},
{
id: -1,
name: "All",
selected: true
},
{
id: 1,
name: "Group1",
selected: false
},
{
id: 2,
name: "Group2",
selected: false
},
{
id: 3,
name: "Group3",
selected: false
},
{
id: 4,
name: "Group4",
selected: true
}
];
const result = groups.filter(x => x.id > 0 && x.selected).map(x => x.id)
console.log(result)Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6392 次 |
| 最近记录: |