简单记录下js中数组去重的几种方法:
方法一:利用es6新增的数据类型set
//set最大的特点是数据不重复,可以接受一个数组或一个数组对象作为参数来初始化,该特性也可以给数组去重 function fillterArr(arr){ return ([...new Set(arr)]); }
方法二:es6的set + array.from
function fillterArr(arr){ return Array.from(new Set(arr)); }
方法三:利用sort排序
function fillterArr(arr){ var newArr = []; arr.sort(); for(var i = 0; i < arr.length; i++){ arr[i] == arr[i-1] ? newArr : newArr.push(arr[i]); } return newArr; }
方法四:利用indexOf
function fillterArr(arr){ var newArr = []; for(var i = 0; i < arr.length; i++){ newArr.indexOf(arr[i]) === -1 ? newArr.push(arr[i]) : newArr; } return newArr; }
方法五:利用reduce函数
function fillterArr(arr){ return arr.reduce((total , curValue ,index)=>{ console.log('第一个值total:'+total+',第二个值curValue:'+curValue +',第三个值index:'+index); return total.indexOf(curValue) > 0 ? total : total.concat(curValue); // return total.includes(curValue) ? total : total.concat(curValue); },[]) }
评论列表 :共有1人吐槽, 3102人围观