item.tempered === newArr1[i].tempered &&
item.floorNum === newArr1[i].floorNum &&
item.processRequirements === newArr1[i].processRequirements &&
item.remark === newArr1[i].remark
)) {
obj.push(newArr1[i])
arr.push({
gname: newArr1[i].name,
gwidth: newArr1[i].width,
gheight: newArr1[i].height,
gwidthDeviation: newArr1[i].widthDeviation,
gheightDeviation: newArr1[i].heightDeviation,
gtempered: newArr1[i].tempered,
gfloorNum: newArr1[i].floorNum,
gprocessRequirements: newArr1[i].processRequirements,
gremark: newArr1[i].remark,
data: [newArr1[i]]
})
} else {
// 把那些和键值相同的条目放入分组(玻璃名)
for (let k = 0; k < arr.length; k++) {
if (arr[k].gname === newArr1[i].name &&
arr[k].gwidth === newArr1[i].width &&
arr[k].gheight === newArr1[i].height &&
arr[k].gwidthDeviation === newArr1[i].widthDeviation &&
arr[k].gheightDeviation === newArr1[i].heightDeviation &&
arr[k].gtempered === newArr1[i].tempered &&
arr[k].gfloorNum === newArr1[i].floorNum &&
arr[k].gprocessRequirements === newArr1[i].processRequirements &&
arr[k].gremark === newArr1[i].remark
) {
arr[k].data.push(newArr1[i])
}
}
}
}
const arr2 = []
var newArr1s = []
// 循环分组数据即可,然后针对特定项目做处理
// 注意点在于三元表达式,因为数组必须有两个才能用reduce函数(缩减函数)
arr.forEach(item => {
console.log(j88888---, item)
arr2.push({
// name: item.data.map(item => item.name).join(','),
name: item.gname,
width: item.gwidth,
height: item.gheight,
widthDeviation: item.gwidthDeviation,
heightDeviation: item.gheightDeviation,
number: item.data.length > 1 ? item.data.map(item => item.number).reduce((pre, next) => pre + next) : item.data[0].number,//此处为相加方法
price: item.data[0].price,
tempered: item.gtempered,
floorNum: item.gfloorNum ? item.gfloorNum : item.data.map(item => item.floorNum).join(','),
processRequirements: item.gprocessRequirements ? item.gprocessRequirements : item.data.map(item => item.processRequirements).join(','),//此处为字符串拼接方法
remark: item.gremark ? item.gremark : item.data.map(item => item.remark).join(',')
// tempered: this.sss,
// name: item.data[0].name
})
})
来看对比图:
合并前:
### 最后
其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。
这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)
《前端开发四大模块核心知识笔记》

最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
**开源分享:https://docs.qq.com/doc/DSmRnRGxvUkxTREhO**