javascript - 这段代码如何知道返回字符串中最长单词的长度?

标签 javascript arrays string

这是我的代码:

function findLongestWord(str) {
    var arr = str.split(" ");
    var p = 0;
    for (i = 0; i < arr.length; i++) {
        if (arr[i].length > p){
            p = arr[i].length;
        }
    }
    return p;
}

findLongestWord("The quick brown fox jumped over the lazy dog");

我知道它有效,但我不确定为什么它只能选出字符串中最长的单词。我知道该字符串被分割成一个数组,并且 for 循环检查数组中每个字符串的长度,但是 p=arr[i].length 总是如何选择最长的字符串来返回?

最佳答案

var arr = str.split(" ");

将字符串拆分为单词数组。

P 保存迄今为止找到的最大长度。

我们迭代单词数组,如果一个单词比 p 更长,我们将它的长度分配给 p

关于javascript - 这段代码如何知道返回字符串中最长单词的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40323648/

相关文章:

javascript - iOS HTML5 Canvas toDataURL

javascript - 将搜索字符串设为粗体,但仅从单词开头开始

JavaScript 关联数组变量

java - 使用带有自定义比较器的优先级队列根据字符串中的单词数进行排序?

objective-c - 使用 NSXMLParser 解析 XML 文件

javascript - 替换标签内的属性

arrays - 结构的下标数组

javascript - 如何将收到 PlayFramework View 的 Java 数组转换为 javascript?

javascript - 使用 Javascript 在 1 个数组中查找公共(public)元素

java - JAX-RS Cookie 响应未在浏览器中显示