数组去重

第一种

  1. let list = [1,2,3,4,5,55,5,6,6,7]
  2. list = Array.from(new set(list))

第三种

indexof

第一次循环 indexof为-1

把push进去

  1. function a(arr){
  2. let temp = [];
  3. for(let i = 0;i<arr.length;i++){
  4. if(temp.indexOf(arr[i])==-1){
  5. temp.push(arr[i])
  6. }
  7. }
  8. return temp
  9. }
  10. let list = [1,2,3,4,5,55,5,6,6,7]
  11. a(list)

es6去重

reduce+includes

reduce((上一次值,当前值,index,数组)=>{

},100上一次值不设置就是数组的第一个值)

  1. list.includes(12)如果数组包含12就返回true,否则false
  1. let list = [1,2,3,4,5,55,5,6,6,7]
  2. list.reduce((preval,curval,index,arr)=>{
  3. return preval.includes(curval) ? peeval : [...preval,curval]
  4. },[])

第四种

过滤 filter

  1. let list = [1,2,3,4,5,55,5,6,6,7]
  2. //arr原数组
  3. list.filter(function (item,index,arr){
  4. return arr.indexOf(item) == index
  5. })

lastindexOf 返回最后一次出现的下标,也可以用这个方法来实现indexof的作用