两组长度不一样的数组,把相同id的合并到短数组内
时间: 2023-10-08 09:04:38 浏览: 78
如果你有两个长度不同的数组,并且想要将具有相同ID的元素合并到较短的数组中,你可以使用循环和条件语句来实现。以下是一个示例代码:
```javascript
function mergeArrays(shortArray, longArray) {
for (let i = 0; i < shortArray.length; i++) {
const id = shortArray[i].id;
const matchingElement = longArray.find(item => item.id === id);
if (matchingElement) {
// 合并具有相同ID的元素到短数组中
shortArray[i] = { ...shortArray[i], ...matchingElement };
}
}
return shortArray;
}
```
在上面的代码中,`mergeArrays`函数接受两个数组作为参数:`shortArray`是较短的数组,`longArray`是较长的数组。函数通过循环遍历较短数组,然后使用`Array.find`方法在较长数组中找到具有相同ID的元素。
如果找到了匹配的元素,就使用对象展开运算符(`{ ...shortArray[i], ...matchingElement }`)将其合并到短数组中的对应元素。这样,具有相同ID的元素就会被合并到短数组中。
最后,函数返回合并后的短数组。
请注意,上述代码假设每个数组中的元素都具有一个名为`id`的属性来进行匹配。你可以根据实际情况进行调整,以适应你的数据结构和匹配条件。
阅读全文