function findLongestWord(str){
str = str.split(" ");
var longest = 0;
var word = null;
for (i = 0;i < str.length; i++){
if (longest < str[i].length){
longest = str[i].length;
word = str[i];
}
}
console.log(longest);
return word.length;
}
我不明白 var longest = 0;
和 var word = null
的用法。我只理解“split”、“for”和“if”的用法。
为什么会这样:
longest = str[i].length
这和0 = str[i].length
一样吗?如果是,为什么要设置为 0?str[i] = word
这和null = str[i]
一样吗?据我所知,null 表示“空”。
这里的逻辑是什么?
最佳答案
值是从右到左分配的,最初, 最长等于0, 然后下面的命令使它等于 str[i].length(从右到左分配)
longest = str[i].length
(这里str[i].length是正确的值所以它的值会被赋值给longest)
因此它与 0 = str[i].length 不同 同样
str[i] = word
使 str[i] 等于 word not null = str[i]
左值称为左值,来自维基百科 LValue 是“在计算机科学中,指向存储位置的值,可能允许分配新值”
关于javascript - 了解 "find longest word in string"代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32405875/