最近仿佛迷上了去重一樣....
發(fā)現(xiàn)了一種目前為止見(jiàn)過(guò)的最簡(jiǎn)單的去重方法
主要邏輯,一行代碼搞定.Take a look.
var arr = ['a','b','h','s','s','f','b','a'];
var arr1 = arr.filter(function(ele,index,thisArr){
// 因?yàn)閕ndexOf返回元素出現(xiàn)的第一個(gè)index位置,如果有重復(fù)的話那么他的位置永遠(yuǎn)是第一次出現(xiàn)的index,這就與他本身的index不相符,則刪掉.
return thisArr.indexOf(ele) === index;
})
console.log(arr1);
這里用到了數(shù)組的filter方法,filter方法接收一個(gè)函數(shù),依次遍歷數(shù)組的每一項(xiàng)去執(zhí)行這個(gè)函數(shù),如果返回值為true則保留,如果為false則刪除.
這個(gè)函數(shù)接收三個(gè)參數(shù),第一個(gè)參數(shù)是數(shù)組的依次每一項(xiàng)內(nèi)容,第個(gè)參數(shù)是這項(xiàng)內(nèi)容的index值,第三個(gè)內(nèi)容是這個(gè)數(shù)組本身.