首页 > 试题广场 >

相同的Set

[编程题]相同的Set
  • 热度指数:7410 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
请补全JavaScript代码,要求以boolean的形式返回两个Set对象参数是否一样,是则返回true,否则返回false。
方法一:
        <script>
            const _isSameSet = (s1, s2) => {
                // 补全代码
                return JSON.stringify(s1)===JSON.stringify(s2);
            }
        </script>
方法二:for...const...of 和 Set.has方法
        <script>
            const _isSameSet = (s1, s2) => {
                // 补全代码
                // 1. 判断长度是否一致
                if(s1.size !== s2.size) {
                    return false;
                }
                for(const e of s1) {
                    if(!s2.has(e)) {
                        return false;
                    }
                }
                return true;
            }
        </script>

方法三:
        <script>
            const _isSameSet = (s1, s2) => {
                // 补全代码
                // 1. 判断长度是否一致
                if(s1.size !== s2.size) {
                    return false;
                }
                // 2. ES6[...]扩展字符串:将set对象的伪数组转换为数组,再调用every进而判断
                // 该数组中的每一项是否存在于另一个set对象中
                return [...s1].every(i=> s2.has(i));
            }
        </script>



发表于 2022-03-21 18:42:58 回复(0)
查看s1中每个元素在s2中是否都存在,只要有一个不存在就返回false
const _isSameSet = (s1, s2) => {
    if (s1.size !== s2.size) return false;
    return Array.prototype.every.call(s1, item => s2.has(item))
}


发表于 2022-04-13 16:51:14 回复(0)
if(s1.size !== s2.size) return false;
return Array.from(s1).sort().join('') == Array.from(s2).sort().join('')

发表于 2021-12-23 15:46:25 回复(2)
const _isSameSet = (s1, s2) => {
    // 补全代码
    if (s1.size !== s2.size) {
        return false;
    }
    for(var el in s1){
        if(!s2.has(el)){
            return false
        }
    }
    return true;
}

发表于 2022-02-11 15:58:40 回复(0)
 const _isSameSet = (s1, s2) => {
                // 补全代码
               return JSON.stringify(s1)==JSON.stringify(s2);
            }

发表于 2021-12-06 18:13:41 回复(1)
s1for循环,查看s2中是否存在 ,若存在就删除,直到删除为空为止
<script>
            const _isSameSet = (s1, s2) => {
                // 补全代码
                if(s1.size!=s2.size){
                    return false
                }
                for(let value of s1.values()){
                    if(s2.has(value)){
                        s2.delete(value)
                    }
                }
                if(s2.size==0){
                    return true;
                }else{
                    return false;
                }
            }
        </script>
发表于 2024-01-10 15:48:21 回复(0)
const _isSameSet = (s1, s2) => {
                // 补全代码
                if(s1.size!==s2.size) return false
                return [...s1].every(i=>s2.has(i))
            }

发表于 2023-08-24 17:47:17 回复(0)
const _isSameSet = (s1, s2) => {
    // 补全代码
    if (s1 instanceof Set && s2 instanceof Set) {
        if (s1.size === s2.size) {
            for (const item of s1) {
                if (!s2.has(item)) {
                    return false;
                }
            }
            return true;
        }
    }
    return false;
}

发表于 2023-07-25 16:22:55 回复(0)
    for (let i of s1) {
        if (s2.has(i)) {
            continue
        }
        else return false
    }
    return true
发表于 2023-06-25 15:46:53 回复(0)
const _isSameSet = (s1, s2) => {
                // 补全代码
                let s=new Set(s1)
                let ss=new Set(s2)
                arr= [...s].filter((ite)=>{
                     return ss.has(ite)
                })
                if(arr.length==[...s].length){
                    return true
                }
                else {return false}
            }
发表于 2023-03-24 16:41:32 回复(0)
const _isSameSet = (s1, s2) => {
    // 补全代码
    if(s1.size !== s2.size) return false
    return [...s1].every(item => s2.has(item))
}

发表于 2023-03-11 23:50:51 回复(0)
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
        
        <script>
            const _isSameSet = (s1, s2) => {
                for(let val of s1){
                    if(!s2.has(val)) return false
                }
                return true
            }
        </script>
    </body>
</html>

发表于 2023-03-02 18:04:54 回复(0)
暴力
   return s1.toString()==s2.toString()

发表于 2023-02-13 20:58:31 回复(0)
if(s1.size !== s2.size) return false;
return Array.from(s1).reduce((v, t, i) => {
    if (!s2.has(t)) return  v = false
    return v
}, true)

发表于 2022-12-04 10:23:15 回复(0)
const _isSameSet = (s1, s2) => {
    return s1.size === s2.size && Array.from(s1).every(item => s2.has(item));
}

发表于 2022-09-08 20:18:18 回复(0)
const res = new Set([...s1].filter(x => !s2.has(x)))
return res.size == 0


发表于 2022-08-30 00:17:52 回复(0)
          const _isSameSet = (s1, s2) => {
                // 补全代码
                if(s1.size !==s2.size){
                    return false
                }
                for(let value of s1.values()){
                    if(!s2.has(value)){
                        return false
                    }
                }
                return true
            }

发表于 2022-08-02 15:05:26 回复(0)
const _isSameSet = (s1, s2) => {
    // 补全代码
    for (let i of s1) {
        if (!(s2.has(i))) {
            return false
        }
    }
    return true
}

发表于 2022-07-16 16:05:54 回复(0)
  const _isSameSet = (s1, s2) => {
                // 补全代码
                if(s1.toString()===s2.toString()){
                    return true;
                }
                return false;
            }
//这样子可以吗?
发表于 2022-07-01 15:18:12 回复(0)
  <script>
            const _isSameSet = (s1, s2) => {
                // 补全代码
                for(i in s1){
                    if(!(i in s2)){
                        return false;
                    }
                }
                
                return true;
            }
        </script>

发表于 2022-06-06 21:44:16 回复(0)