Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这段代码如何知道返回字符串中最长单词的长度?_Javascript_Arrays_String - Fatal编程技术网

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

Javascript 这段代码如何知道返回字符串中最长单词的长度?,javascript,arrays,string,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 qui

这是我的代码:

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");
函数findLongestWord(str){
var arr=str.split(“”);
var p=0;
对于(i=0;ip){
p=arr[i]。长度;
}
}
返回p;
}
findlongest(“敏捷的棕色狐狸跳过了懒狗”);
我知道它可以工作,但我不确定为什么它只能挑出字符串中最长的单词。我知道sting被分割成一个数组,for循环检查数组中每个字符串的长度,但是
p=arr[I].length
如何总是选择最长的字符串返回

var arr = str.split(" ");
将字符串拆分为单词数组

p
保存到目前为止找到的最大长度

我们遍历单词数组,如果单词较长,则
p
我们将其长度指定给
p

将字符串拆分为单词数组

p
保存到目前为止找到的最大长度


我们在单词数组中迭代,如果单词较长,则在开头将其长度指定给
p
,p等于0

对于(i=0;i 如果(arr[i].length>p{

仅当p(前一个单词的长度)比当前单词长时

p=arr[i].length;//我用当前长度更新p(不总是,但根据if语句)


所以在循环的末尾,p等于最长单词的长度。

在循环的开头,p等于0

对于(i=0;i 如果(arr[i].length>p{

仅当p(前一个单词的长度)比当前单词长时

p=arr[i].length;//我用当前长度更新p(不总是,但根据if语句)

所以在循环的末尾,p等于最长单词的长度。

很简单: 首先,获取第一个单词的长度(arr[0].length)并将值存储在p中

然后取第二个字,即arr[1]。length,并将其与存储在p中的第一个字的长度进行比较。如果第二个字大于第一个字(arr[1]>p),则p变成数组[1],以此类推。

很简单: 首先,获取第一个单词的长度(arr[0].length)并将值存储在p中


然后取第二个字,即arr[1]。length,并将其与存储在p中的第一个字的长度进行比较。如果第二个字大于第一个字(arr[1]>p),则p成为数组[1]等。

思考分配给
p
之前的
if
语句的含义。您从
if(arr[i].length>p)中理解了什么{
?当当前单词的长度大于当前最大长度时,会更新最大长度,因为您发现了一个较长的单词。\n它是递增的。第一次
p=arr[i].length
执行时,它很可能不是最长的一个,但当其他单词与该长度进行比较时,任何更长的长度都会通过相同的赋值一次又一次地分配给
p
。最后,可以确定它代表最大的单词。if语句也可以是
p=Math.max(p,arr[i].length);
思考分配给
p
之前的
if
语句的含义。您从
if(arr[i].length>p)中理解了什么{
?当当前单词的长度大于当前最大长度时,会更新最大长度,因为您发现了一个较长的单词。\n它是递增的。第一次
p=arr[i].length
执行时,它很可能不是最长的一个,但当其他单词与该长度进行比较时,任何更长的长度都会通过相同的赋值一次又一次地分配给
p
。最后,可以确定它代表最大的单词。if语句也可以是
p=Math.max(p,arr[i].长度);