【发布时间】:2014-09-22 19:20:35
【问题描述】:
这是评估两个字符串的长度和字符是否相等的正确代码。
function equal(x, y) {
if(x.length != y.length)
return false
var i = 0;
while(i < x.length) {
if(x.charAt(i) != y.charAt(i))
return false
i++
}
return true
}
equal("hello", "hello") // true
equal("hello", "heyyy") // false
我自己修改了它,我认为这对我来说是合乎逻辑的。但是我的代码(如下所示)在它们的字符内容不同时返回 true。谁能帮我看看我的版本有什么问题?
function equal(x, y) {
if(x.length != y.length)
return false
var i = 0;
while(i < x.length) {
if(x.charAt(i) != y.charAt(i))
return false
else return true
i++
}
}
equal("hello", "hi") //false
equal("hello", "heyyy") //true
【问题讨论】:
-
当第一个字符相等时返回 true
-
到处都缺少分号
-
另外,beware the "heyyy" string(轻微的 NSFW 语言)
-
谁赞成这个?甚至还有工作代码作为比较,那么尝试调试代码并实际主动做某事有什么问题?
-
我不像你们大多数人一样是专业人士,在调试我的错误之前我需要了解基础知识。
标签: javascript loops while-loop