js数组去重
方法一:双重循环,遍历数组,将重复的元素删除
function unique(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;
}
方法二:利用ES6的Set去重
function unique(arr) {
return Array.from(new Set(arr));
// 或者使用扩展运算符:
// return [...new Set(arr)];
}
方法三:利用indexOf去重
function unique(arr) {
var newArr = [];
for(var i=0; i<arr.length; i++) {
if(newArr.indexOf(arr[i])===-1) {
newArr.push(arr[i]);
}
}
return newArr;
}
方法四:利用对象属性去重
function unique(arr) {
var obj = {};
var newArr = [];
for(var i=0; i<arr.length; i++) {
if(!obj[arr[i]]) {
obj[arr[i]] = true;
newArr.push(arr[i]);
}
}
return newArr;
}
方法五:利用Map去重
function unique(arr) {
var map = new Map();
var newArr = [];
for(var i=0; i<arr.length; i++) {
if(!map.has(arr[i])) {
map.set(arr[i], true);
newArr.push(arr[i]);
}
}
return newArr;
}
``
原文地址: https://www.cveoy.top/t/topic/hjjl 著作权归作者所有。请勿转载和采集!