猿问

JavaScript - 两个数组之间的匹配

我有 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]

最优雅的方法是什么?


慕的地6264312
浏览 432回答 3
3回答

墨色风雨

只需使用Array#prototype#filter和Array#prototype#includesconst 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);
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答