【笔记】利用ES6的set属性实现数组去重

数组去重法(利用indexOf查找实现):

var arr = [0,2,3,4,4,0,2];
var res = [];
for(var i = 0; i < arr.length; i++){
	if(res.indexOf(arr[i]) == -1){
		res.push(arr[i]);
	}
}
console.log(res);//[0, 2, 3, 4]

es6的Set对象去重法:

var set = new Set([66,9,2,2,3,4,5,5,1,1]);
var arr1 = Array.from(set);//从一个类似数组或可迭代对象中创建一个新的数组实例
var arr2 = arr1.sort(function(x,y){return x-y});//按从小到大的顺序排序
console.log(arr2);//[1, 2, 3, 4, 5, 9, 66]

对象去重法(利用对象的key值不重复实现):

var arr=[1,1,2,9,3,8,6];
var obj = {};
var arr2 = [];
for (var i = 0; i < arr.length; i++) {
    obj[arr[i]] = arr[i];
}
//console.log(obj);
for (var i in obj) {
   arr2.push(obj[i]); //i是key属性,obj[i]是value值
}
console.log(arr2);//[1, 2, 3, 6, 8, 9]
发布了22 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42618289/article/details/80929145
今日推荐