Javascript 使用json.stringify的Anagram解决方案,这是解决问题的正确方法吗
我已经整理了两个字符串,然后使用json.stringify对其进行比较,得到了一个字谜。请参考下面的代码,这是正确的编码方式吗Javascript 使用json.stringify的Anagram解决方案,这是解决问题的正确方法吗,javascript,Javascript,我已经整理了两个字符串,然后使用json.stringify对其进行比较,得到了一个字谜。请参考下面的代码,这是正确的编码方式吗 function same(ar, ar1) { //sorting the string var o = ar.split("").sort(); var o1 = ar1.split("").sort(); //comparing two string if (JSON.stringify(o) == JSON.stringify(o1)) {
function same(ar, ar1) {
//sorting the string
var o = ar.split("").sort();
var o1 = ar1.split("").sort();
//comparing two string
if (JSON.stringify(o) == JSON.stringify(o1)) {
return true;
} else {
return false;
}
}
same("ria", "air"); //true
same("", ""); //true
same("aaz", zza); //false
它在大多数情况下都能工作,但计算成本太高 当使用某些非ASCII字符时,它可能不起作用,因为.split将导致字符代码点被拆分,例如:
log'最好将数组重新连接到字符串并进行比较,而不是比较数组的JSON表示形式。因此,只需返回ar.split.sort.join==ar1.split.sort.join即可。