前言
我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷
导语
数组双重去重的方式三filter
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检测元素在数组中第一次出现的位置是否和元素现在的位置相等,如果不等则说明该元素是重复元素