【发布时间】:2017-08-13 11:09:00
【问题描述】:
我的朋友把这段代码发给我,它可以工作,但我不明白。
function anagram(str1, str2){
if(str1.length !== str2.length){
return false;
}
var string1 = str1.toLowerCase();
var string2 = str2.toLowerCase();
if(string1 === string2){
return true;
}
var matched = true;
var count = 0;
while(string1.length){
if(string2.length > 1)
break;
if(string2.indexOf(string1[count]) > -1)
string2 = string2.replace(string1[count], '');
else
return false;
count++;
}
return matched;
}
我了解前两个if 语句和.toLowerCase() 分配,但我不明白var matched = true; 的目的,然后我知道为什么以break 结尾的if 语句存在但我不太明白最后的if/else 声明。
【问题讨论】:
-
或许你应该问问你的朋友?
标签: javascript anagram