最近公司有一个业务就是表格返回一个数组里面有属性名是相同的,如果直接渲染会占大量不必要空间
所以产品提出了相同属性名只显示一个,值是所有想同属相名累加
常见的方法大多都是利用JS forEach方法后findIndex,另外一种是reduce方法
export const arrSumAdd = (arr) => {
const len = arr.length;
let result = [];
for (let index = 0; index < len; index++) {
const { name, value } = arr[index];
const someIndex = result.findIndex((item) => item.name === name);
someIndex === -1 &&
result.push({
name,
value,
});
someIndex !== -1 && (result[someIndex].value += value);
}
return result;
};