Извините, я новичок в 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 ответа
Вы определяете присоединиться к массиву до того, как массив будет заполнен. Попробуй переехать
var joinArray = myArray.join(' ');
На линию раньше
return joinArray;
Я понял. Очевидно, положение имеет значение, и объединение происходило до того, как цикл for успел запуститься.
Вы присоединились к 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>
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.