陣列去重以及陣列物件中多屬性判斷去重

2021-09-19 11:42:15 字數 1384 閱讀 8518

##陣列中值為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 ...