js数组去重

方法一 (es6 set方法,简单粗暴)

function unique(arr) {
  return Array.from(new Set(arr))
}
console.log(unique([1,3,4,5,6,4,4,23,5,'a','c','a']))

方法二 创建空数组,用indexOf方法检索,没有的话插入新数组中

function unique1(arr) {
  let newArr = []
  arr.forEach(item => {
    if(newArr.indexOf(item) === -1){
      newArr.push(item)
    }
  })
  return newArr
}
console.log(unique1([1,3,4,5,6,4,4,23,5,'a','c','a']))

方法三 下标判断,思路跟上面大致相同

    function unique2(arr) {
        let newArr = []
        arr.forEach((item,index) => {
            if(arr.indexOf(item) === index){    //如果数组元素的下标的等于 index,存入新的数组
              newArr.push(item)
            }
        })
        return newArr
    }
    console.log(unique2([1,3,4,5,6,4,4,23,5,'a','c','a']))

你可能感兴趣的:(js数组去重)