##陣列中值為number,string,boolean時:
var data=[1
,2,3
,2,5
,1];
1.es6 set
function
unique
(arr)
console.
log(
unique
(data));
//[1, 2, 3, 5]
2.兩層for
function
unique
(arr)}if
(isunique)
}return re;
} console.
log(
unique
(data));
//[1, 2, 3, 5]
3.利用物件屬性是否存在
function
unique
(arr)
;for
(var i =
0; i < arr.length; i++)}
return re;
} console.
log(
unique
(data));
//[1, 2, 3, 5]
##陣列中值為物件時,並且兩個屬性結合判斷,如下:name和age都相等時,判斷為重複:
var data =[,
,];
1.物件屬性
var result =
;var obj =
;for
(var i =
0; ireturn result;
2.雙for
var re =
[array[0]
];for(
var i =
1; i < array.length; i++)}
if(isunique)
}return re;
3.reduce
function
arrayunique2
(arr, name1,name2)
;return arr.
reduce
(function
(item, next)
return item;},
);}console.
log(
arrayunique2
(data,
"name"
,"age"))
;
js陣列去重以及陣列內物件去重
大家在寫專案的時候一定遇到過這種邏輯需求,就是給乙個陣列進行去重處理,還有一種就是給陣列內的物件根據某乙個屬性,比如id,進行去重,下面我寫了兩個函式,都是可以達到這個效果的,乙個是純es5的去重辦法,乙個是用了es6的array.from new set 和es5的reduce來進行去重 我先定義...
陣列 物件去重
var arr 1,2,3,1,3,是是 是是 2 測試 服務 測試 nan,nan,服務 服務 arr new set arr console.log arr set 是es6新加的集合,集合中的值不會重複。操作符 會將可遍歷物件,轉換為陣列 let arr 1,2,2,3,4,4,4 let s...
陣列物件去重
let temp this.tabledata this.tabledata.reduce prev,curv 如果臨時物件沒有就把這個名字加進去,同時把當前的這個物件加入到prev中 else return prev 在這裡插入 片 第二塊 去重 let obj this.childs good ...