方法一使用ES6:
function(arr){ return [ ... new Set(arr) ] } // 这里使用es6 里的new Set() 方法对数组arr进行去重 然后返回一个对象 解构返回的对象形成一个新的数组
方法二:
新建一个数组,与原数组值进行比较,一个个添加
function(arr){ let newArr = [ arr[0] ] for ( i=0, i<arr.length,i++){ for(j=0,j<newArr.length,j++){ if ( arr[i] === newArr[j] ) { break } newArr.push(arr[i]) } } return newArr }
方法三:
利用对象属性去重
function(arr){ // 新建一个空数组 和 一个空对象 let arrObj={} let newArr=[] for(i=0,i<arr.length,i++){ if(!arrObj[arr[i]]){ // 如果在arrObj里面访问不到 arr[i]属性 就向newArr数组中添加arr[i] 并且向arrObj里面添加arr[i]属性 newArr.push(arr[i]) arrObj[arr[i]]='这个数组项已经有了' } } // 循环完毕之后 新数组就已经对arr进行去重了 return newArr }