方法一:set:不是一種資料型別,始終資料結構;成員唯一
1 let arr =[12,1,12,3,1,88,66,66,88,999];2function
unique(ary)
7 unique(arr);
方法二:物件屬性名不能重複
let arr = [12,1,1,22,12,1,55,66,99,88,44]funciton unqiue(ary);
for(let i = o ; i < ary.length; i++)
obj[cur]=cur;//
給obj新增鍵值對;屬性名和屬性值一樣
}
}
unique(arr);
方法三:indexof
1 let arr = [12,1,12,3,1,88,66,9,66];2function
unique(ary) 9}
10return
newary;11}
12 unique(arr)
方法四: sort
let arr = [12,1,12,3,1,88,66,9,66];function
unique(ary) );
for(let i=0;i)
}return
a; }
unique(arr)
方法五:includes:包含;如果陣列包含哪一樣,返回true;不包含返回false;
1 let arr = [12,1,12,3,1,88,66,9,66];2function
unique(ary) 10}
11return
newary;12}
13 console.log(unique(arr));
方法六:hasownproperty:檢測屬性名物件的乙個私有屬性;返回乙個布林值
1 let arr = [12,1,12,3,1,88,66,9,66];2function
unique(ary) ;
4return ary.filter(function
(item,index,a) else
16})17}
18 console.log(unique(arr))
方法七:filter+indexof
1 let arr = [12,1,12,3,1,88,66,9,66];2function
unique(ary) )6}
7 console.log(unique(arr));
方法八:splice
let arr = [12,1,12,3,1,88,66,9,66];function
unique(ary) }}
return
ary;
}unique(arr);
方法九:遞迴
1 let arr = [12,1,12,3,1,88,66,9,66];2function
unique(ary) );
7function
loop(index)
12 loop(index-1)13}
14}15 loop(len-1);
16return
ary;17}
18 console.log(unique(arr));
方法十:map:利用map資料結構存值的特點
let arr = [12,1,12,3,1,88,66,9,66];function
unique(ary) }}
unique(arr);
方法十一:reduce
let arr = [12,1,12,3,1,88,66,9,66];function
unique(ary) ,)
}console.log(unique(arr));
方法十二:類似於方法一的set,用了剩餘運算子...
let arr = [12,1,12,3,1,88,66,9,66];let a = [...new
set(arr)];
console.log(a);
JavaScript陣列去重12種方法
陣列去重,一般都是在面試的時候才會碰到,一般是要求手寫陣列去重方法的 如果是被提問到,陣列去重的方法有哪些?你能答出其中的10種,面試官很有可能對你刮目相看。在真實的專案中碰到的陣列去重,一般都是後台去處理,很少讓前端處理陣列去重。雖然日常專案用到的概率比較低,但還是需要了解一下,以防面試的時候可能...
JavaScript陣列去重(12種方法)
陣列去重,一般都是在面試的時候才會碰到,一般是要求手寫陣列去重方法的 如果是被提問到,陣列去重的方法有哪些?你能答出其中的10種,面試官很有可能對你刮目相看。在真實的專案中碰到的陣列去重,一般都是後台去處理,很少讓前端處理陣列去重。雖然日常專案用到的概率比較低,但還是需要了解一下,以防面試的時候可能...
JavaScript陣列去重(12種方法)
function unique arr var arr 1,1,true true true,true,15,15,false,false,undefined,undefined,null,null,nan,nan,nan 0,0,a a console.log unique arr 1,true ...