今天偶然间学到一个可以利用对象的属性不允许重复的特性进行数组去重的方法,记录一下
1.数组的原型链上挂载一个方法
2.定义一个空对象和空数组
3.循环遍历数组,this.length就是数组的长度
4.if语句的意思是,拿1来举例,如果temp[arr[1]]不存在的话,那么把字符串a赋给temp[arr[1]],那么由于temp已经有了1这个属性名,后面再遍历到1,就会被忽略,这样就可以实现对数组的去重啦
<script>
arr=[1,2,3,1,2,4,1,2,1,4]
Array.prototype.unique=function () {
var temp= {}
arr =[]
for (var i=0;i<this.length;i++){
if (!temp[this[i]]){
temp[this[i]]='a'
arr.push(this[i])
}
}
return arr
}
arr.unique()
console.log(arr)
</script>