您的位置:首页 > Web前端 > JavaScript

JavaScript笔记:数组去掉重复的值

2020-07-14 05:57 225 查看

原理:利用对象属性名不重复的特点,可以把数组中相同的数据做为对象属性名,然后再把对象属性名做为数组的值返回给新数组

var arr = [1,7,2,8,1,2,7,8,7,5]
Array.prototype.unique = function () {
var temp = {}, //定义空对象
arr = [], //定义空数组
len = this.length; //要判断的数组的长度
for(var i = 0; i < len; i ++) {
if(!temp[this[i]]) { //判断对象对应的数组名字的属性里是否有对应的值,如果没有为undefined,取反为true
temp[this[i]] = '占位值'; //给对象对应的数组名字的属性赋值
arr.push(this[i]); //把对象属性对应的数组值赋给新数组
}
}
return arr; //返回去重后的数组
}
var newArr = arr.unique();
console.log(newArr); //[1, 7, 2, 8, 5]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: