加载中...

JS 求交集,并集,差集,子集 forEach和es6两种方法

JS 求交集,并集,差集,子集 forEach和es6两种方法

1.并集: [A B C R U ]


        let set111 = new Set(["A", "B", "C"])
        let set222 = new Set(["A", "R", "U"])

        let unionset = new Set();

        set111.forEach((ele) => {
            if (!unionset.has(ele)) {
                unionset.add(ele)
            }
        })

        set222.forEach((ele) => {
            if (!unionset.has(ele)) {
                unionset.add(ele)
            }
        })

        console.log(unionset);
        
        //es6
        let union = new Set([...set111, ...set222]);
        console.log(union);     

2.交集: [A ]

let differtset = new Set();
set111.forEach((ele) => {
if (set222.has(ele)) {
differtset.add(ele)
}
})

console.log(differtset);

//es6
let intersect = new Set([...set111].filter(x => set222.has(x)));
console.log(intersect);

3.差集

// set111 - set222 [ B C]

// let set111 = new Set(["A","B","C"])
// let set222 = new Set(["A","R","U"])

let chaset = new Set();

set111.forEach((ele) => {
if (!set222.has(ele)) {
chaset.add(ele)
}
})

console.log(chaset);

//es6
let difference = new Set([...set111].filter(x => !set222.has(x)));
console.log(difference);

4.子集

  // [a,c]   [a,b]   不是
        // [a]   [a,b]     是
        let set1 = new Set(["A", "b"])
        let set2 = new Set(["A", "R", "U"])
        var str = ""
        set1.forEach((ele) => {
            if (set2.has(ele)) {
                str = "true"
            } else {
                str = "false"
            }
        })

        console.log(str);


posted @ 2022-03-30 18:25  邓邓今天加油了吗  阅读(304)  评论(1)    收藏  举报