小程序或者js:字典或者数组字符串(toString的字符串)比较内容相同

例如比较"{‘aa’:1,‘bb’:2}"和 "{‘bb’:2,‘aa’:1}"两个字典字符串是否内容相同,或者比较两个数组字符串内容是否相同

//数组字符串(元素无重复)比较内容是否相同(不考虑顺序)
compare2arryset:function (arr5, arr6) {//数组字符串(无重复)
    try{
      var arr1 = JSON.parse(arr5.replaceAll("'","\""));
      var arr2 = JSON.parse(arr6.replaceAll("'","\""));
      var arr4 = [...new Set(arr1)];
      var len = arr4.length;  
      var arr = [...arr1,...arr2];
      console.log('arr',arr); 
      var arr3 = [...new Set(arr)];
      //console.log('compare2arry',arr3); 
      return (arr3.length-len)==0;
    }catch(e){
      return false;
    }
  },
//字典字符串比较内容是否相同 
compare2dict:function (arr1, arr2) { //字典字符串   
    try{
      //转换为json格式去除空格等
      var a1 = JSON.parse(arr1.replaceAll("'","\""));
      var a2 = JSON.parse(arr2.replaceAll("'","\""));
      //获取key列表
      var keys1 = Object.keys(a1);
      var keys2 = Object.keys(a1); 
      
      if(compare2arryset(keys1,keys2) ){
        for(var key of keys1){
          if(a1[key] != a2[key] )
            return false;			
        }  
        return true;
    }catch(e){//转换不了json,必然答题错误
      return false;
    }    
  },
//数组字符串(元素可以有重复)比较内容是否相同(考虑顺序)
compare2arry:function (arr5, arr6) {//数组字符串(有重复)
    try{
      //转换为json格式去除空格等
      var arr1 = JSON.parse(arr5.replaceAll("'","\""));
      var arr2 = JSON.parse(arr6.replaceAll("'","\""));
      //console.log('arr1',arr1.toString());
      //console.log('arr2',arr2.toString());
      //再转换为字符串比较
      if(arr1.toString()===arr2.toString()){
        return true;
      }else{
        return false;
      }      
    }catch(e){//转换不了json,必然答题错误
      return false;
    }
  },

上面是程序也可以稍加修改,用于js。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值