JavaScript数组去重

使用Set对象去重(ES6)

Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。

var arr = ["apple","apple","banana","banana","pear","pear"];
var mySet = new Set(arr);
console.log([...mySet]); //["apple","banana","pear"]

使用Map对象去重(ES6)

Map对象存储的是键值对,键值唯一,如果存储时新添加的键重复会出现覆盖

var arr = ["apple","apple","banana","banana","pear","pear"];
var myMap = new Map();
var newArr = [];
for(var i=0;i<arr.length;i++){
    myMap.set(arr[i],i);
}
myMap.forEach(function(value,key){
    ewArr.push(key);
})
console.log(newArr); //["apple", "banana", "pear"]

最简单数组去重

var arr = ["apple","apple","banana","banana","pear","pear"];
function unique2(arr){
	var newArr = [];
	for(var i=0;i<arr.length;i++){
		if(newArr.indexOf(arr[i]) === -1){
			newArr.push(arr[i]);
		}
	}
	return newArr;
}

数组下标判断法

var arr = ["apple","apple","banana","banana","pear","pear"];
function unique3(arr){
	var newArr = [arr[0]];
	for(var i=1;i<arr.length;i++){
		if(arr.indexOf(arr[i])===i){
			newArr.push(arr[i]);
		}
	}
	return newArr;
}
posted @ 2021-04-18 22:59  WJJ呀  阅读(45)  评论(0)    收藏  举报