为什么""之间存在这样的差异?和" "在.split()?

时间:2018-01-12 23:20:42

标签: javascript arrays split

所以我有这个代码

  function upperCase (text) {

    let arr = text.split(" ");
    let arr2 = [];

    for(i = 0; i < arr.length; i++) {
        arr2.push(arr[i].charAt(0).toUpperCase()+arr[i].slice(1));      
    }

    return arr2.join(" ");

}

console.log(upperCase("something something"));

当前的输出是Something Something。但是如果我将.join()中的值从.join(&#34;&#34;)更改为.join(&#34;&#34;),则输出全部大写(SOMETHING SOMETHING)。我不明白为什么会这样?如何在&#34;&#34;之间留出一个空格。使所有字符都大写?

2 个答案:

答案 0 :(得分:2)

split(" ")将其拆分为"something","something"

split("")将其拆分为"s","o","m","e","t","h","i","n","g", "s","o","m","e","t","h","i","n","g"

大写是完成的,因为你在第二种情况下对许多1个元素列表进行操作,并且每个元素列表都是大写的。

答案 1 :(得分:0)

split()的参数表示字符串被分割的字符。因此,如果您提供一个空格" ",您的字符串将在每个&#34;单词&#34;上分开。 但是如果你没有提供""的任何角色,那么该字符串将在每个位置上分开,就像Patrick Artner指出的那样。

您也可以使用逗号","或分号";"或其他任何内容进行拆分。