请你扮演一个资深的前端开发工程师,帮我写一个根据一组数组中的id值匹配另一个数组套对象,对象的id值,如果匹配上了将id和中文添加到新的数组中,最后再将新的数组中的所有中文放在另一个新的数组中
时间: 2023-07-16 10:15:36 浏览: 85
好的,根据你的要求,我可以为你编写如下代码:
```javascript
// 原始数据
const arr1 = [1, 2, 3, 4];
const arr2 = [
{ id: 1, name: '张三' },
{ id: 2, name: '李四' },
{ id: 3, name: '王五' }
];
// 匹配id值,并将匹配到的中文添加到新数组中
const newArr = [];
arr1.forEach(id => {
const matchObj = arr2.find(obj => obj.id === id);
if (matchObj) {
newArr.push({id, name: matchObj.name});
}
});
// 获取所有中文
const chineseArr = newArr.map(obj => obj.name);
console.log(chineseArr); // 输出:["张三", "李四", "王五"]
```
以上代码中,我们首先定义了原始数据 `arr1` 和 `arr2`,分别表示要匹配的id值数组和包含id和中文的对象数组。
然后,我们使用 `forEach` 方法遍历 `arr1` 数组,对于每一个id值,使用 `find` 方法在 `arr2` 数组中查找匹配的对象。如果匹配成功,就将id和中文添加到新数组 `newArr` 中。
最后,我们使用 `map` 方法获取 `newArr` 数组中的所有中文,存放在 `chineseArr` 中,输出结果即可。
当然,如果你需要更复杂的匹配逻辑,或者更高效的算法实现,也可以进一步优化这段代码。
阅读全文