vue3 js 比较两个二维数组,长度不一致,第二层数组中包对象,通过id对比 将有值的数据放入没有值的数据中
时间: 2024-02-24 10:54:18 浏览: 72
JavaScript比较两个数组的内容是否相同(推荐)
如果两个数组的长度不一致,我们需要先找到两个数组中长度较小的那个,然后在这个长度范围内进行比较和赋值。
具体代码如下:
```javascript
// 假设两个数组分别为 arr1 和 arr2
const len = Math.min(arr1.length, arr2.length);
for (let i = 0; i < len; i++) {
for (let j = 0; j < arr2[i].data.length; j++) {
if (arr1[i].id === arr2[i].id) { // 判断对象的 id 是否相等
if (arr2[i].data[j].value) { // 判断数据是否有值
arr1[i].data[j].value = arr2[i].data[j].value; // 将有值的数据放入 arr1 中
}
}
}
}
```
需要注意的是,这里假设 arr1 和 arr2 的长度不一致,但是第二层数组的长度是一致的,如果第二层数组的长度也不一致,需要进行额外的处理。
阅读全文