into-piece / Step-By-Step

每天一题向前端架构师前进
4 stars 1 forks source link

实现一个数组去重的方法 #7

Open into-piece opened 5 years ago

into-piece commented 5 years ago

1、ES6中新增了数据类型set,set的一个最大的特点就是数据不重复。Set函数可以接受一个数组(或类数组对象)作为参数来初始化,利用该特性也能做到给数组去重。

return [...new set(array)] // 1
return Array.from(new set(array)) // 2
  1. 循环数组并利用数组的indexOf()方法判断当前的值是否已存在,如果不存在则存进新数组。
    let res = []
    for (let i = 0; i < arr.length; i++) {
    if (res.indexOf(arr[i]) === -1) {
        res.push(arr[i])
    }
    }
    return res
  2. 利用对象属性值不重复,给对象添加属性,并用Object.keys()获取。
  3. 利用includes,同2