xzz2021
发布于 2024-02-19 / 3 阅读
0
0

集合的运算分析及实现

集合的运算分析及模拟实现

概念:

  1. 并集: 两者包含的所有元素

    //  模拟实现
    const union = (setA, setB) => {
        const unionAB = new Set()
        setA.forEach(v => unionAB.add(v))
        setB.forEach(v => unionAB.add(v))
        return unionAB
    }
    
  2. 交集: 两者都包含的元素

    //  模拟实现
    const intersection = (setA, setB) => {
        const intersectionSet = new Set()
        setA.forEach(v => {
        	if(setB.has(v)){
        		intersectionSet.add(v)
        	}
        })
        return intersectionSet
    }
    
  3. 差集: 包含在第一个集合内且不存在于第二个集合的元素

    //  模拟实现
    const differenceSet = (setA, setB) => {
        const differenceSet = new Set()
        setA.forEach(v => {
        	if(!setB.has(v)){
        		differenceSet.add(v)
        	}
        })
        return differenceSet
    }
    
  4. 子集: 给定集合的所有元素被包含在另一个集合内

    //  模拟实现判断a是否是b的子集
    const subSet = (setA, setB) => {
        let isSubset 
        if(setA.size() > setB.size()){ return false }
        setA.every(v => {
        	if(!setB.has(v)){
        		isSubset = false
                return false
        	}
            return true
        })
        return isSubset
    }
    

评论