为了账号安全,请及时绑定邮箱和手机立即绑定

不太理解这个for循环和变量声明位置对返回值的影响

不太理解这个for循环和变量声明位置对返回值的影响

慕标5832272 2018-12-13 16:15:17
function findLongestWord(str) {  var arr = [];  arr = str.split(" ");  str = arr[0];  for(var i = 0; i < arr.length; i++) {     if(arr[i].length > str.length) {      str = arr[i];    }  }  return str.length;}findLongestWord("The quick brown fox jumped over the lazy dog");  //6function findLongestWord(str) {  var arr = [];  arr = str.split(" ");  for(var i = 0; i < arr.length; i++) {     str = arr[0];    if(arr[i].length > str.length) {      str = arr[i];    }  }  return str.length;}findLongestWord("The quick brown fox jumped over the lazy dog");  //3为什么是3?
查看完整描述

1 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

function findLongestWord(str) {

    var arr = [];

    arr = str.split(' ');

    for (var i = 0,str = arr[0]; i < arr.length; i++) {

        if (arr[i].length > str.length) {

            str = arr[i];

        }

    }

    return str.length;

}

var result = findLongestWord('The quick brown fox jumped over the lazy dog');

console.log(result);

for的每次循环开始都会执行一遍str = arr[0];,结果自然不对啦~把这个赋值放到var i = 0的后边(都是初始化赋值嘛)就可以了。

查看完整回答
反对 回复 2019-01-07
  • 1 回答
  • 0 关注
  • 395 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信