Javascript Array join()返回空字符串

时间:2015-12-15 17:46:44

标签: javascript

抱歉,我是javascript的新手,我只是想弄湿我的脚。

我过去使用过join()没有问题,但由于某种原因,这个连接似乎返回一个空字符串。

myArray中的信息似乎格式正确。

任何帮助将不胜感激。谢谢!

  function titleCase(str) {
  var splitArray = str.split(" ");
  var myArray = [];
  var joinArray = myArray.join(' ');

  for (var i in splitArray) {
    myArray.push(splitArray[i].charAt(0).toUpperCase() + splitArray[i].slice(1).toLowerCase());
  }

  return joinArray;
}

titleCase("capitalize the first letter of each word in this string");

3 个答案:

答案 0 :(得分:2)

你加入myArray之前它有任何内容,然后返回它,未经修改。

  function titleCase(str) {
    var splitArray = str.split(" ");
    var myArray = [];

    for (var i in splitArray) {
      myArray.push(splitArray[i].charAt(0).toUpperCase() + splitArray[i].slice(1).toLowerCase());
    }

    return myArray.join(' ');
  }

document.getElementById('result').innerHTML = titleCase("capitalize the first letter of each word in this string");
<p id="result"></p>

答案 1 :(得分:1)

你在填充myArray之前定义了joinArray。 尝试移动

var joinArray = myArray.join(' '); 

之前的那一行
return joinArray;

答案 2 :(得分:1)

我明白了。显然位置很重要,并且在for循环有机会运行之前就已经发生了联接。