高级前端js【Q445】实现一个数组去重函数 unique

实现一个数组去重函数 unique

Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 453

Author 回答者: joyz0

function unique(arr) {
  if (!Array.isArray(arr)) throw new TypeError();
  return [...new Set(arr)];
}

Author 回答者: HuiFeiYa

function unique(arr){
    const map = new Map()
    arr.forEach(value=>{
        map.set(value,value)
    })
    const list = []
    for (let key of map.keys()) {
      list.push(key)
    }
    return list
}

Author 回答者: shfshanyue

const unique = (list) => [...new Set(list)];

Author 回答者: haotie1990

function unique(array) {
  return array.filter((item, index) => array.indexOf(item) === index);
}

Author 回答者: Vi-jay

function unique(arr) {
  return arr.reduce(
    (acc, item) => (acc.includes(item) ? acc : acc.concat(item)),
    [],
  );
}