一个id组成的数组在另一个含有id的对象数组中找出相对应对象获取其中的dx数组值 把另一个数组的值添加到dx中 并去重
时间: 2024-11-15 09:22:08 浏览: 19
当你有一个包含唯一`id`属性的数组A,以及另一个数组B,每个元素都有`id`和其他属性,包括`dx`数组,你需要做的是:
1. 遍历数组B,对于每个元素,检查它的`id`是否在数组A中存在。
2. 如果找到匹配的`id`,获取数组A中该`id`对应的`dx`值。
3. 将B数组中当前元素的`dx`值更新(如果有的话),或者添加新的`dx`数组。
4. 对于B数组中的所有元素,去除可能出现的重复`id`。
这里是一个简单的JavaScript示例:
```javascript
let arrayA = [{ id: '1', dx: [0, 1] }, { id: '2', dx: [2, 3] }];
let arrayB = [{ id: '1', otherProp: 'val1', dx: [] }, { id: '3', otherProp: 'val2' }];
arrayB.forEach(itemB => {
let itemA = arrayA.find(itemA => itemA.id === itemB.id);
if (itemA) {
// 如果找到对应项,合并dx数组
if (!itemB.dx.length) {
itemB.dx = itemA.dx;
} else {
itemB.dx.push(...itemA.dx);
}
}
});
// 去除重复id
arrayB = arrayB.filter((item, index, self) => {
return self.findIndex(i => i.id === item.id) === index;
});
```
阅读全文