set数组的创建和应用

 //声明一个set对象

        let s = new Set();

        let pizza = new Set(['one', 'two', 'three', 'four', 'five', 'six'])

        //console.log(pizza)

        //显示元素个数 size

        console.log(pizza.size)//6

        //添加新元素 add()

        pizza.add('seven')

        console.log(pizza)//Set(7)

        //删除元素 delete()

        pizza.delete('four')

        console.log(pizza)//Set(6)

        //检测元素 has()

         console.log(pizza.has('one'))//true

         //清空元素

        //  pizza.clear();

        //  console.log(pizza)//Set(0)

         //集合实现了iterator接口 ,所以我们用for... of...

         for(let v of pizza){

             console.log(v)//仅输出键值

         }

//new Set()重复 

        let arr = [1, 2, 3, 5]

        //1、数组去重复

       let pizza = new Set(arr)

        console.log(pizza)//1、2、3、5

        //去重复变数组

          let result1 = [...new Set(arr)]

        console.log(result1)//1,2,3,4,5,6

        //2、交集

        let arr1 = [1, 2, 2, 1, 7, 9]

        let result = [...new Set(arr)].filter(function (item) {

            //此处的item不是对象数组了,只是单个的数据,所以has()可以检测

            let s2 = new Set(arr1)

            // console.log(item)//arr1 

            if (s2.has(item)) {

                return true

            } else {

                return false

            }

        })

        // console.log(result)

        //简写

 let result2 = [...new Set(arr)].filter(item => new Set(arr1).has(item))

        console.log(result2)

        // 自写判断是否有重复

        for (let i = 0; i < arr.length; i++) {

            for (let o = i + 1; o < arr.length; o++) {

                if (arr[i] == arr[o]) {

                    console.log("数据" + arr[i] + "重复")

                }

            }

        }

        let arr3s = [1, 2, 3, 4, 5, 6, 4, 5]

        let arr4s = [1, 2, 3, 4, 5, 6, 4, 5]

        let opop = new Set(arr3s).has(arr4s)

        // console.log(opop)//false

        //3、并集 去重复,去完重复把对象用扩张运算符转换为数组

        let nnion = [...new Set([...arr, ...arr1])]

        // console.log(nnion)

        //差集 :A里边的数据 没有在B里边

        let diff = [...new Set(arr)].filter(item => !(new Set(arr1).has(item)))

        // console.log(diff)//3,4,5,6

        //   let arr = [1, 2, 3, 4, 5, 6, 4, 5]

        //    arr1 = [1, 2, 2, 1, 7, 9]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值