集合

   // 声明一个 set
    let s = new Set();
    let s2 = new Set(['大事','小事','好事','坏事','小事']);

    // console.log(s, typeof s);

    // console.log(s2); // Set(4) {"大事", "小事", "好事", "坏事"}

    // 元素个数
    // console.log(s2.size);  // 4
    // 添加新的元素
    // s2.add('喜事');
    // console.log(s2); //Set(5) {"大事", "小事", "好事", "坏事", "喜事"} 

    // 删除元素
    // s2.delete('坏事')
    // console.log(s2); {"大事", "小事", "好事"}

    // 检测 
    // console.log(s2.has('好事')); // true
    // console.log(s2.has('有事')); // false

    // 清空
    // s2.clear();
    // console.log(s2);  // Set(0) {}


    // 遍历
    for(let v of s2){
      console.log(v);  // 大事 
    }
-------------------
   
 // 声明一个 set
    let arr = [1,2,3,4,5,4,3,2,1];

     // 交集 
    let arr2 = [4,5,3];
 
 
    // 数组去重
     let result = [...new Set(arr)];
     console.log(result);  // (5) [1, 2, 3, 4, 5]
 
    // let result = [...new Set(arr)].filter(item => {
    //   let s2 = new Set(arr2); // 4 5 6 
    //   if(s2.has(item)){
    //      return true
    //   }else{
    //     return false;
    //   } 
    // })

   
    // let result = [...new Set(arr)].filter(item =>  new Set(arr2).has(item)) 
    // console.log(result); // (2) [4, 5]

    // // 并集
    // let union = new Set([...arr, ...arr2]);
    // console.log(union);  // Set(5) {1, 2, 3, 4, 5}

    // // 差集
    // let diff =  [...new Set(arr)].filter(item =>  !new Set(arr2).has(item)) 

    // console.log(diff); // [1, 2]
 
posted @ 2021-05-17 21:51  13522679763-任国强  阅读(22)  评论(0)    收藏  举报