数组去重的几种简单的方法
- 最原始的使用双层循环去重
let unique = (arr => { let res = []; for(var i = 0, arrLength = arr.length; i<arrLength; i++){ for( var j = 0, resLength = res.length; j<resLength; j++ ){ if(arr[i] === res[j]){ break; } } if( j === resLength ) { res.push(arr[i]); } } return res; })
- 使用indexOf去重
let unique = (arr => { let res = []; for(var i = 0, arrLength = arr.length; i<arrLength; i++){ let current = arr[i]; if( res.indexOf(current) === -1 ){ res.push(current); } } return res; })
- 使用filter去重
let unique = ( arr => { let newArr = arr.filter( (item, index, array) => { return array.indexOf(item) === index; }) return newArr; })
- ES6 使用Set去重
let unique = ( arr=> { return Array.from(new Set(arr)) }) let unique = ( arr=> { return [...new Set(arr)] })