js数组去重的四种方式
生活随笔
收集整理的這篇文章主要介紹了
js数组去重的四种方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
// 刪除重復的
function only(arr){for(var i=0;i<arr.length;i++){for(var j = i+1;j<arr.length;j++){if(arr[i]===arr[j]){arr.splice(j,1);j--;}}}return arr;
}
console.log(only([6]));//[6]
console.log(only([1,9,8,8,0,6,0,6]));//[1, 9, 8, 0, 6]// 往新數組中插入不重復的元素或在最后一個位置的重復元素
function only(arr){
var newArr = [],
len = arr.length;
for(var i = 0;i<len;i++){for(var j = i+1;j<len;j++){if(arr[i]===arr[j]){j = false;break;}}if(j){newArr.push(arr[i]);}
}
return newArr;
}
console.log(only([6]));//[6]
console.log(only([1,9,8,8,0,6,0,6]));//[1, 9, 8, 0, 6]//往新數組中插入不重復的元素或在最后一個位置的重復元素
//難理解一些,關鍵是“j = ++i;”,相當于開啟新一輪的i循環(外層循環)
function only(arr){var newArr = [],len = arr.length;for(var i = 0;i<len;i++){for(var j = i+1;j<len;j++){if(arr[i] === arr[j]){j = ++i;}}newArr.push(arr[i]);}return newArr;
}
console.log(only([6]));//[6]
console.log(only([1,9,8,8,0,6,0,6]));//[1, 9, 8, 0, 6]//將數組元素設為對象屬性,值為true;如重復,不再添進數組
function only(arr){var newArr = [],obj = {},m;for(var i = 0;(m = arr[i]) !== undefined;i++){if(!obj[m]){newArr.push(arr[i]);obj[m] = true;}}return newArr;
}
console.log(only([6]));//[6]
console.log(only([1,9,8,8,0,6,0,6]));//[1, 9, 8, 0, 6]
轉載于:https://www.cnblogs.com/zhujiasheng/p/6114146.html
總結
以上是生活随笔為你收集整理的js数组去重的四种方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一些JavaScript基本函数
- 下一篇: typecho除了首页其他大部分网页40