【发布时间】:2013-09-04 02:30:19
【问题描述】:
我正在尝试比较 2 个字符串是否相等,并返回不同位置的任何不同字母的数量(如果有),例如bob 和 buy 将返回 2。
我在其他地方没有找到任何其他示例,因此我尝试自己编写代码。我下面的代码没有返回任何东西,不确定它有什么问题?任何想法表示赞赏。
谢谢
function equal(str1, str2) {
/*If the lengths are not equal, there is no point comparing each character.*/
if (str1.length != str2.length) {
return false;
}
/*loop here to go through each position and check if both strings are equal.*/
var numDiffChar = 0;
var index = 0;
while (index < str1.length) {
if (str1.charAt(index) !== str2.charAt(index)) {
numDiffChar += index;
index++;
} else {
index++;
}
}
};
equal("javascript", "JavaScript");
【问题讨论】:
-
如果你对类型强制没问题,你可以将完整的循环体缩短为
numDiffChar += str1.charAt(index) !== str2.charAt(index); index ++;。 -
太好了!感谢所有有用的答案。
标签: javascript string if-statement while-loop return