Set实现数组去重

ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。

使用Set实现数组去重要简单很多。

第一种数组去重方法(使用Array.from):

let arr = [12,43,23,43,68,12];
let item = new Set(arr);
console.log(item);//结果输出的是一个对象

//使用Array.from转成数组

let arr = [12,43,23,43,68,12];
let item = Array.from(new Set(arr));
console.log(item);// [12, 43, 23, 68]

备注Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)。

遇到字符串的,我们可以先转化成数组,数组去重比较容易,处理完之后再转化成字符串

split()把一个  字符串  分割成一个  数组
join()把一个 数组   分割成一个  字符串

    let str = this.newArr.join(",");
      // console.log(str);
      // 去重
      let arrstr = Array.from(new Set(str.split(","))).join(",");
      return arrstr;

第二种数组去重方法(使用...扩展运算符):

let arr = [12,43,23,43,68,12];

let item = [...new Set(arr)];

console.log(item);//[12, 43, 23, 68]

备注:扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。

猜你喜欢

转载自blog.csdn.net/shi15926lei/article/details/130521133
今日推荐