我创建了一个函数来检查 2 个单词是否是变位词,但我想让它变得更好。感觉if语句后面的counter的声明不太好,如果大家有更好的解决办法就好了。
function checkAnagram(string1, string2){
if(string1.length !== string2.length){
return false;
}
for(var i = 0; i < string1.length; i++){
if(count <= 0){
return false;
}
var count = 0;
for(var t = 0; t < string2.length; t++){
//counter = 0
if(string2[t].toLowerCase() == string1[i].toLowerCase()){
//counter++;
count++;
break;
}
}
}
return true;
}
最佳答案
这里有一个更简单的方法:
var s1 = "test"
var s2 = "tset"
function testAnagram (s1, s2){
if(!s1 || !s2 || s1.length !== s2.length){return false;}
var lS1 = s1.toLowerCase();
var lS2 = s2.toLowerCase();
if(lS1 === lS2) {return false;}
var rS1 = lS1.split('').sort().join('');
var rS2 = lS2.split('').sort().join('');
return rS1 === rS2;
}
var result = testAnagram(s1, s2);
alert(result);
关于javascript - 检查 2 个字符串中的 Anagram,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38942748/