导语
数组双重去重的方式三indexOf
编辑
``` var geyao = [1, 2, 3, 4, 6, 7, 1, 2, 3, 8, 9] function ArrayCommon(arr) { //判断是不是数组 不是数组就返回一个false if (!Array.isArray(arr)) { console.log('这不是一个数组哦') return } //元素在数组中第一次出现的位置是否和元素现在的位置相等 return Array.prototype.filter.call(arr,function(item,index){ console.log(arr.indexOf(item),item,index) return arr.indexOf(item)===index
}) } console.log(ArrayCommon(geyao, 'geyao'))
运行结果
0 1 0 数组去重的第二种方式220313.html:24 1 2 1 数组去重的第二种方式220313.html:24 2 3 2 数组去重的第二种方式220313.html:24 3 4 3 数组去重的第二种方式220313.html:24 4 6 4 数组去重的第二种方式220313.html:24 5 7 5 数组去重的第二种方式220313.html:24 0 1 6 数组去重的第二种方式220313.html:24 1 2 7 数组去重的第二种方式220313.html:24 2 3 8 数组去重的第二种方式220313.html:24 9 8 9 数组去重的第二种方式220313.html:24 10 9 10 数组去重的第二种方式220313.html:30 (8) [1, 2, 3, 4, 6, 7, 8, 9]
总结
利用indexOf检测元素在数组中第一次出现的位置是否和元素现在的位置相等,如果不等则说明该元素是重复元素