请你扮演一个资深的前端开发工程师,帮我写一个根据一组数组中的id值匹配另一个数组套对象,对象的id值,如果匹配上了将id和中文添加到新的数组中
时间: 2023-07-16 07:15:06 浏览: 49
好的,我可以帮你写一个这样的函数,具体实现如下:
```javascript
function matchArrayById(targetArr, sourceArr) {
const resultArr = [];
for (let i = 0; i < targetArr.length; i++) {
const targetId = targetArr[i].id;
for (let j = 0; j < sourceArr.length; j++) {
const sourceId = sourceArr[j].id;
if (targetId === sourceId) {
resultArr.push({
id: targetId,
name: sourceArr[j].name
});
break;
}
}
}
return resultArr;
}
```
这个函数接收两个参数,第一个参数 `targetArr` 是需要匹配的数组,第二个参数 `sourceArr` 是作为数据来源的数组。函数返回一个新的数组,其中包含匹配上的元素的 id 值和对应的中文名称。
具体实现逻辑是先遍历 `targetArr` 中的每个元素,然后再遍历 `sourceArr` 中的每个元素,如果发现两个元素的 id 值相同,则将匹配上的元素的 id 和中文名称添加到结果数组中。注意,我们在找到匹配的元素之后要使用 `break` 语句跳出内层循环,避免重复添加相同的元素。
你可以通过以下示例代码来测试这个函数:
```javascript
const targetArr = [
{ id: 1 },
{ id: 3 },
{ id: 5 }
];
const sourceArr = [
{ id: 1, name: '张三' },
{ id: 2, name: '李四' },
{ id: 3, name: '王五' }
];
const resultArr = matchArrayById(targetArr, sourceArr);
console.log(resultArr);
// 输出:[ { id: 1, name: '张三' }, { id: 3, name: '王五' } ]
```
希望这个函数能够满足你的需求,如果有任何问题或者需要进一步的帮助,请随时告诉我。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)