vue中a=[2,3],b=[{id:2,num:2},{id:3,num:3},{id:4,num:4}]找出a中在b中存在的id,并将它们的num相加
时间: 2024-09-24 11:13:45 浏览: 37
VUE入门实践.docx
在 Vue 中,你可以通过 JavaScript 的数组方法和对象属性来实现这个需求。首先,你需要遍历数组 `b`,然后检查每个对象的 `id` 是否在数组 `a` 中。如果存在,就取出对应的 `num` 并累加到结果。以下是步骤:
```javascript
let a = [2, 3];
let b = [{ id: 2, num: 2 }, { id: 3, num: 3 }, { id: 4, num: 4 }];
// 创建一个空对象用于存储已找到的id及其对应sum
let sumByIds = {};
// 遍历b数组
for (let item of b) {
// 如果item的id存在于a中
if (a.includes(item.id)) {
// 如果id已经在sumByIds中有,则加上num
if (sumByIds[item.id]) {
sumByIds[item.id] += item.num;
} else {
// 否则初始化该id的值为num
sumByIds[item.id] = item.num;
}
}
}
// 将sumByIds的values转换回数组并返回求和后的数值
let resultSum = Object.values(sumByIds).reduce((acc, cur) => acc + cur);
resultSum; // 输出:8
```
阅读全文