JS-数组去重

71 阅读1分钟
// 数组去重

// 遍历法
function my_unquie(arr) {
  const newArr = []
  // 使用for循环
  for(let i = 0; i < arr.length;i++) {
    if(newArr.indexOf(arr[i]) === -1) {
      newArr.push(arr[i])
    }
  }
  // 使用const of循环
  // for(const item of arr) {
  //   if(newArr.indexOf(item) === -1) {
  //     newArr.push(item)
  //   }
  // }
  return newArr
}
console.log(my_unquie([1, 2, 3, 3, 2, 4, 2, 4]));


// filter
function my_unquie1(arr) {
  const newArr = arr.filter((item, index, array) => {
    return array.indexOf(item) === index;
  });
  return newArr;
}

console.log(my_unquie1([1, 2, 3, 3, 2, 4, 2, 4]));

// set
function my_unquie2(arr) {
  // 都可以将set以数组形式遍历出来
  return Array.from(new Set(arr))
  // return [...new Set(arr)]
}
console.log(my_unquie2([1, 2, 3, 3, 2, 4, 2, 4]));