陣列物件去重 和 陣列求和的幾種方法
阿新 • • 發佈:2018-12-23
陣列去重
1,陣列物件去重:id、name,type都重複的時候,才會被去重
delRepeat(arr) {
return Object.values(
arr.reduce((obj, next) => {
var key = JSON.stringify(next);
return (obj[key] = next), obj;
}, {}),
);
}
2,根據你設定的陣列物件裡的某一個屬性動態去重 (例如根據物件裡面的id 或者是name)
baseDel(arr) { const res = new Map(); return arr.filter((item) => !res.has(item.name) && res.set(item.name, 1)) },
3.判斷新增的陣列在已經存在的陣列中是否已經存在
var arr = [ {name: 'sxy',type: '1'}, {name: 'sxy',type: '2'}, {name: 'sxy',type: '2'}, ] var addArr = [ {name: 'sxy',type: '1'}, {name: 'hhh',type: '2'}, ] var newArr = []; for (var i in addArr) { var count = 0; for(var j in arr) { if(addArr[i].name == arr[j].name && addArr[i].type == arr[i].type) { count++ break } } if(count === 0) { newArr.push(addArr[i]) } } console.log(newArr)
陣列求和
1,最基本的陣列求和
var arr = new Array();
for(var i=0;i<100000;i++){
arr.push(i*12);
}
var sum = 0;
for(var i = 0; i < arr.length; i++) {
sum += a[i];
}
console.log(sum)
2,用eval求和
eval(arr.join("+"))
3, 用reduce()求和
var sum = arr.reduce(function(accumulator, currentValue, currentIndex, array) { return accumulator + currentValue; }) console.log(sum)