2个数组之间的JavaScript匹配
假设我们有两个数组,一个是String文字,另一个是object。
const data = [{
name: 'Kamlesh Kapasi',
uid: 123
}, {
name: 'Mahesh Babu',
uid: 129
}, {
name: 'Akshay Kapoor',
uid: 223
}, {
name: 'Vikas Gupta',
uid: 423
}, {
name: 'Mohit Dalal',
uid: 133
}, {
name: 'Rajkumar Hirani',
uid: 233
}, {
name: 'Joy',
uid: 127
}];
const names = ['Joy', 'Rajkumar Hirani', 'Akshay Kapoor', 'Mahesh Babu',
'Mohit Dalal', 'Kamlesh Kapasi', 'Vikas Gupta']我们的工作是编写一个遍历names数组并构造Numbers数组的函数,该数组包含特定名称的uid,其顺序与出现在names数组中的顺序相同。
让我们为该函数编写代码-
示例
const data = [{
name: 'Kamlesh Kapasi',
uid: 123
}, {
name: 'Mahesh Babu',
uid: 129
}, {
name: 'Akshay Kapoor',
uid: 223
}, {
name: 'Vikas Gupta',
uid: 423
}, {
name: 'Mohit Dalal',
uid: 133
}, {
name: 'Rajkumar Hirani',
uid: 233
}, {
name: 'Joy',
uid: 127
}];
const names = ['Joy', 'Rajkumar Hirani', 'Akshay Kapoor', 'Mahesh Babu',
'Mohit Dalal', 'Kamlesh Kapasi', 'Vikas Gupta']
const mapId = (arr, names) => {
return names.reduce((acc, val) => {
const index = arr.findIndex(el => el.name === val);
return acc.concat(arr[index].uid);
}, []);
}
console.log(mapId(data, names));输出结果
控制台中的输出将为-
[ 127, 233, 223, 129, 133, 123, 423 ]
热门推荐
10 小侄过生日祝福语简短
11 小店营业的祝福语简短
12 担任老师的祝福语简短
13 饮料吧台祝福语简短大气
14 公司新春搞笑祝福语简短
15 高情商敬酒祝福语简短
16 婚礼祝福语新郎妹妹简短
17 教师答辩通过祝福语简短
18 生女孩红包简短祝福语