前端开发笔记

es6中set的使用方式

2020-11-07  本文已影响0人  黑白说程序

es6中的set主要是作用是一是对数组去重,set的将数组去重实例化 ,二是对数组交集 合并、差集

var arr=['a','b',1,2,1,3];
var newarr=new Set(arr);
console.log(newarr)  //输出 {"a", "b", 1, 2, 3}

set的的方法有以下几种

clear 清空内容 返回的是underfined

newarr.chear() // 清空数组内容 并返回 undefined
console.log(newarr.chear() ) // 输出undefined
console.log(newarr ) //输出{}数组为空

add 增加数组内容,返回的是数组本身

var arr=['a','b',1,2,1,3];
var newarr=new Set(arr);
console.log(typeof newarr) //输出object返回的是对象
newarr.add(1)  
console.log(arr)   //返回的值不变,因为里面有重复的,不可以添加重复的值
newarr.add(4)  
console.log(newarr) //输出{"a", "b", 1, 2, 3,4}   
console.log(newarr.add(5))  //输出{"a", "b", 1, 2, 3,4,5} 他返回的是数组本身,所以add是可以用链式写法   

has 判断是否包含某个值,返回的是布尔值

var arr=['a','b',1,2,1,3];
var newarr=new Set(arr);
newarr.has(1)   //返回的值是true

使用set取数组去重合并

let arr1=[1,2,3]
    let arr2=[1,3,4]
    let arr3=new Set([...arr1,...arr2]) //注意这里是对家中括号
    console.log(arr3); //输出 {1, 2, 3, 4}

使用set取数组交集

let arr1 = [1, 2, 3]
  let arr2 = [1, 3, 4]
  let arr4 = new Set(arr2)
  let arr3 = new Set([...arr1].filter(item => {
    return arr4.has(item)
  }))
  console.log(arr3); //输出 {1, 3,}
##使用set取数组差集
```javascript
let arr1 = [1, 2, 3]
  let arr2 = [1, 3, 4]
  let arr4 = new Set(arr2)
  let arr3 = new Set([...arr1].filter(item => {
    return !arr4.has(item)
  }))
  console.log(arr3); //输出 {2}  2是arr1如arr2的差集,4是arr2和arr1的叉积
上一篇 下一篇

猜你喜欢

热点阅读