数组去重

77 阅读1分钟
  1. 使用 Set
[...new Set(array)]
  1. 使用 Map,缺点是兼容性差了一点
const uniq = function (array) {
  let map = new Map()
  for (let i = 0; i < array.length; i++) {
    let number = array[i] // 1 ~ 3
    if (number === undefined) { continue }
    if (map.has(number)) {
      continue
    }
    map.set(number, true)

  }
  return [...map.keys()]
}
  1. 使用 hash
const uniq = function (array) {
  let hash = {};
  let newArray = [];
  for (let i = 0; i < array.length; i++) {
      if (!hash[array[i]]) {
          newArray.push(array[i]);
          hash[array[i]] = true;
      }
  }
  return newArray;
}