例如比较"{‘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。