| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 
 | function unique(array) {if (Array.isArray(array) && array.length > 0) {
 var arr = []
 for (var i = 0; i < array.length; i++) {
 if (arr.indexOf(array[i]) == -1) {
 arr.push(array[i])
 }
 }
 return arr
 } else {
 return false
 }
 }
 
 var arr = [2, 4, 66, 55, 33, 55, 3, 4, 4, 32, 2]
 console.log(unique(arr))
 
 | 
也可以将去重函数挂载在数组原型上,拓展了数组的基本方法,省去了判断参数类型的代码。
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 
 | Array.prototype.unique = function() {var res = []
 var json = {}
 for (var i = 0; i < this.length; i++) {
 if (!json[this[i]]) {
 res.push(this[i])
 json[this[i]] = 1
 }
 }
 return res
 }
 
 var arr = [2, 4, 66, 55, 33, 55, 3, 4, 4, 32, 2]
 console.log(arr.unique())
 
 | 
最简单的实现
如果使用 es6 ,使用 set 可以快速实现
| 12
 3
 
 | function dedupe(arr) {return [...new Set(arr)]
 }
 
 |