《Angular之ES6语法实现数组去重》

前言:

        我希望我的希望不再是希望

正文:

      实现去重的主人翁-----set和Array.from

           set是一种新的数据结构,它可以接收一个数组或者是类数组对象,自动去重其中的重复项目。

          1.在ts中:

constructor() {
  let arr = ['杨晓风','杨晓风','linda','linda',null,null,undefined,undefined,NaN,NaN];
  console.log(new Set(arr));
 }

           2.效果图:

           重复的项目已经被去掉了,包括NaN。正常情况下,NaN === NaN 返回的是false,但是在set里,一样能够去重 ,然而,效果图中我们发现set返回的是一个对象,并没有得到我们想要的数组。接下来Array.from帮你解决

           Array.from可以把类数组对象、可迭代对象转化为数组:

           1.编辑代码

constructor() {
  let arr = ['杨晓风','杨晓风','linda','linda',null,null,undefined,undefined,NaN,NaN];
  let newArr = Array.from(new Set(arr))
  console.log(newArr);
}

         2.效果图: 

结语:

         此方法甚好,但存在兼容性问题,目前主流的浏览器,Chrome,Firfox,Opera,Safari,包括微软的Edge,都是支持的,唯独IE系列不支持。要慎用哦。

猜你喜欢

转载自blog.csdn.net/yxf15732625262/article/details/81319946
今日推荐