如何从对象数组中找到数组的所有 id - Javascript



如何从对象数组中找到数组的所有id。在这里,通过正常的 for 循环,我可以通过 findAll 等获得但使用 ECMA 新功能。如何获得?

let items = [
{id: 28, name: "Action", isSelected: true},
{id: 10770, name: "TV Movie", isSelected: false},
{id: 53, name: "Thriller", isSelected: true},
{id: 10752, name: "War", isSelected: false},
{id: 37, name: "Western", isSelected: true}
]

在这里,我想找到所有基于isSelected的id是真的。

使用过滤器和地图

let items = [
{id: 28, name: "Action", isSelected: true},
{id: 10770, name: "TV Movie", isSelected: false},
{id: 53, name: "Thriller", isSelected: true},
{id: 10752, name: "War", isSelected: false},
{id: 37, name: "Western", isSelected: true}
]
console.log(items.filter(function(e){return e.isSelected}).map(function(e){
return e.id
}))

试试这个:

let items = [
{ id: 28, name: "Action", isSelected: true },
{ id: 10770, name: "TV Movie", isSelected: false },
{ id: 53, name: "Thriller", isSelected: true },
{ id: 10752, name: "War", isSelected: false },
{ id: 37, name: "Western", isSelected: true }
]
let res = items.filter(({ isSelected }) => isSelected).map(({id}) => id);
console.log(res);

简单的地图功能将完成您的工作

let items = [
{id: 28, name: "Action", isSelected: true},
{id: 10770, name: "TV Movie", isSelected: false},
{id: 53, name: "Thriller", isSelected: true},
{id: 10752, name: "War", isSelected: false},
{id: 37, name: "Western", isSelected: true}
]
items.map(item => console.log(item.id))

首先过滤数组以获取isSelected作为true的对象,然后使用map()获取这些对象的id

let items = [
{id: 28, name: "Action", isSelected: true},
{id: 10770, name: "TV Movie", isSelected: false},
{id: 53, name: "Thriller", isSelected: true},
{id: 10752, name: "War", isSelected: false},
{id: 37, name: "Western", isSelected: true}
];
let res = items.filter(({isSelected}) => isSelected).map(({id}) => id);
console.log(res);

最新更新