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所以在循环的末尾,p等于最长单词的长度。在循环的开头,p等于0 对于(i=0;i
然后取第二个字,即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].长度);