split不是会将每个字母都拆分开吗那是怎么判断哪些字母属于同一个单词?

来源:3-31 编程练习

大菠萝哒哒哒

2020-03-15 10:55:57

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>首字母变大写</title>
</head>
<body>
<script>
    //补充代码
    var m="all time is no time when it is past";
    function myfunc(str){
        var arr=str.split(" "),
        len=arr.length,
        newstr="";
        for (var i=0;i<len;i++){
            var fir=arr[i].substr(0,1);
            newstr+=fir.toUpperCase()+arr[i].substring(1)+"&nbsp;";
        }
        return newstr;
    }
    var last=myfunc(m);
    document.write(m+"<br/>"+last);
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script>
          var m="all time is no time when it is past";
          var n=m.split("")
          document.write(n);
        </script>
    </head>
    <body>
    </body>
</html>

老师按照这种方法拆成数组他中间没有连接符是用空格隔开,这样不是会将每个字母都分开吗,那后面是怎么判断的哪些字母是一个单词里的呢?

写回答

1回答

好帮手慕码

2020-03-15

同学你好,解答如下:通过.split(" ")方法,将arr转换成了数组:

http://img.mukewang.com/climg/5e6da8db09b28c4d01730025.jpg

打印结果:

http://img.mukewang.com/climg/5e6da8e90991783904670154.jpg

所以arr[i]就是表示每一个单词,可以打印看下:

http://img.mukewang.com/climg/5e6da90b09b9635302100025.jpg

打印结果:

http://img.mukewang.com/climg/5e6da91309792fa101000180.jpg

然后通过提取单词的开头字母并转换为大写 和 单词后几个字母的拼接组成一个开头字母大写的单词,如下:

http://img.mukewang.com/climg/5e6da9c40998ccde05020098.jpg

打印结果:

http://img.mukewang.com/climg/5e6da9d0092ac97300920188.jpg

而同学演示的代码,没有使用空格分隔,所以默认分隔每一个字母:

http://img.mukewang.com/climg/5e6daa67098ff6b204460089.jpg

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 40143 问题

查看课程