當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
javascript 练习(2)——js数组去重
生活随笔
收集整理的這篇文章主要介紹了
javascript 练习(2)——js数组去重
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天遇到一個數組去重的問題,如題
編寫一個函數 unique(arr),返回一個去除數組內重復的元素的數組。例如:unique([0, 1, 2, 2, 3, 3, 4]) // => [0, 1, 2, 3, 4] unique([0, 1, '1', '1', 2]) // => [0, 1, '1', 2]比較容易想到的一種方法是利用indexOf方法:
1 /* 2 * 思路:新建一新數組,遍歷傳入數組,值不在新數組就push進該新數組中 3 * IE8以下不支持數組的indexOf方法 4 * */ 5 function unique(array){ 6 var temp = []; //一個新的臨時數組 7 for(var i = 0; i < array.length; i++){ 8 if(temp.indexOf(array[i]) == -1){ 9 temp.push(array[i]); 10 } 11 } 12 return temp; 13 } 14 15 var aa = [1,2,2,4,9,6,7,5,2,3,5,6,5]; 16 console.log(unique(aa));然后還可以排序后比較相鄰項去重:
1 /* 2 * 思路:給傳入數組排序,排序后相同值相鄰, 3 * 然后遍歷時,新數組只加入不與前一值重復的值。 4 * 但是會打亂原來數組的順序 5 * */ 6 function unique(array){ 7 array.sort(); 8 var temp=[array[0]]; 9 for(var i = 1; i < array.length; i++){ 10 if( array[i] !== temp[temp.length-1]){ 11 temp.push(array[i]); 12 } 13 } 14 return temp; 15 } 16 17 var aa = [1,2,"2",4,9,"a","a",2,3,5,6,5]; 18 console.log(unique(aa));做題時剛掌握了一種方法:
[搬運] 新特性的寫法
1 const unique = (arr) => /*TODO*/Array.from(new Set(arr))只需要一行代碼就夠了,新特性簡直不要太好用
轉載于:https://www.cnblogs.com/tttty/p/10537574.html
總結
以上是生活随笔為你收集整理的javascript 练习(2)——js数组去重的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 正则表达式积累
- 下一篇: Oracle 与 Mysql NULL值