我应该在字符串中找到最长的单词,这是我到目前为止提出的代码。不幸的是,这似乎不起作用,我的问题是为什么?function findLongestWordLength(str) { str.split(""); let longest = 1; for(let i = 0; i < str.length; i++){ if (str[i].length > longest){ longest = str[i].length; } } return longest;}
3 回答

森栏
TA贡献1810条经验 获得超5个赞
您需要将字符串分割为" "。然后遍历单词并返回最大的长度。
function findLongestWordLength(str) {
const words = str.split(" ");
return words.reduce(
(max, word) => (word.length > max ? word.length : max),
0
);
}
console.log(findLongestWordLength("hello world"));
由于使用,此解决方案更短,更清洁reduce
。

沧海一幻觉
TA贡献1824条经验 获得超5个赞
问题是第二行需要更改为, str = str.split(" ");因为字符串是不可变的,它们不能更改,需要重新分配它。
function findLongestWordLength(str) {
str = str.split(" ");
let longest = 1;
console.log(str);
for(let i = 0; i < str.length; i++){
if (str[i].length > longest){
longest = str[i].length;
}
}
return longest;
}
var result = findLongestWordLength("Joan Ala Valeron")
console.log(result);
添加回答
举报
0/150
提交
取消