我有 2 个数组const statusesValues = ['progress', 'validate', 'blocked']和const statuses = [{status: 'progress' , id: 1}, {status: 'validate', id: 2}, {status: 'blocked', id: 3}, {status: 'no_validate', id: 4}]我想在第一个数组的元素和第二个数组的状态属性之间获得一个 id 匹配数组。在这个例子中: [1, 2, 3]最优雅的方法是什么?
3 回答

墨色风雨
TA贡献1853条经验 获得超6个赞
只需使用Array#prototype#filter
和Array#prototype#includes
const statusesValues = ['progress', 'validate', 'blocked']
const statuses = [{
status: 'progress',
id: 1
}, {
status: 'validate',
id: 2
}, {
status: 'blocked',
id: 3
}, {
status: 'no_validate',
id: 4
}]
const res = statuses
.filter(x => statusesValues.includes(x.status.toLowerCase()))
.map(x => x.id);
console.log(res);
添加回答
举报
0/150
提交
取消