function longestWord(string) {
var str = string.split(" ");
var longest = 0;
var word = null;
for (var i = 0; i < str.length - 1; i++) {
if (longest < str[i].length) {
longest = str[i].length;
word = str[i];
}
}
return word;
}
当我打电话时longestWord("Pride and Prejudice")
,它返回“Pride”而不是“Prejudice”,这是最长的单词......为什么?我检查了其他一些类似的问题,但解决方案看起来很像我的代码。
这是因为您没有比较数组中的所有项目,而是遗漏了最后一项。
for (var i = 0; i < str.length - 1; i++)
应该
for (var i = 0; i < str.length; i++)
or
for (var i = 0; i <= str.length - 1; i++)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)