一、利用indexOf
普通函数方式:function unique(arr){ var newArr=[]; for(var i=0;i
原型方法:
Array.prototype.unique=function(){ var newArr=[this[0]]; for(var i=0;i
二、利用Array.filter
var oldArr=[1,1,2,3,4,4,5,5,6];var newArr=oldArr.filter(function(currentValue,index,arr){ if(arr.indexOf(currentValue)===index){ return true }else{ return false }});console.log(newArr);
三、ES6中方法
1、使用Set函数与扩展运算符(利用的是Set函数数值唯一性的特点)[...new Set([1,1,2,3,4,5])]
2、Array.from()【利用的是Set函数数值唯一性的特点及from()函数可以将其转换为数组的原理】
Array.from(new Set([1,1,2,2,3,4,5,5]));