Javascript 使用json.stringify的Anagram解决方案,这是解决问题的正确方法吗

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)) {

我已经整理了两个字符串,然后使用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)) {
    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即可。