学习随笔--关于数组的去重

139 阅读1分钟

方法一 利用for循环

funtion deleteRepeat(arr) {
<!--定义一个新数组-->
    let arr1 = []
    for (let i=0,len = arr.length; i< len; i++) {
    <!--arr1 中是否有 arr[i] 没有就添加到arr1中-->
        if(arr1.indexOf(arr[i] === -1) {
            arr1.push(arr[i)
        }
    }
    <!--最后 返回arr1-->
    return arr1
}

方法二 es6 new Set()

var myArray = ['a', 'b', 'a', 'b', 'c', 'e', 'e', 'c', 'd', 'd', 'd', 'd']
let arr1 = (... Set(myArray)) // 使用 new set() 将返回值保存到 arr2中

方法三 Array.prototype.reduce()

var myArray = ['a', 'b', 'a', 'b', 'c', 'e', 'e', 'c', 'd', 'd', 'd', 'd'];
var myOrderedArray = myArray.reduce(function (accumulator, currentValue) {
  if (accumulator.indexOf(currentValue) === -1) {
    accumulator.push(currentValue);
  }
  return accumulator
}, [])

console.log(myOrderedArray);

方法四 Array.prototype.forEach()

var myArray = ['a', 'b', 'a', 'b', 'c', 'e', 'e', 'c', 'd', 'd', 'd', 'd'];
 let arr1 = []
myArray.forEach((item,index) => {   
        if (arr.indexOf(item) === -1) {
            arr.push(cur);
        }
    })
    
    
    console.log(arr1)

有其它的更好去重方法可以写在评论区哦