#javascript
#javascript
Вопрос:
Это имеет отношение к длине итерации, верно? Как мне повторить все это, кроме последнего индекса?
function createSentence(words) {
var sentence = "";
for (var i = 0; i < words.length; i ) {
sentence = words[i] ' ';
if (i === words.length - 1)
return sentence = '.';
}
}
var result1 = createSentence(['I', 'am', 'worth', 'it']);
console.log('should log "I am worth it.":', result1);
var result2 = createSentence(['My', 'problems', 'matter']);
console.log('should log "My problems matter.":', result2);
Ответ №1:
Лучшая идея: объединить пробелом, а затем объединить один .
в конец:
const createSentence = arr => arr.join(' ') '.';
var result1 = createSentence(['I', 'am', 'worth', 'it']);
console.log('should log "I am worth it.":', result1);
var result2 = createSentence(['My', 'problems', 'matter']);
console.log('should log "My problems matter.":', result2);
Ответ №2:
Решение @CertainPerformance идеально.
Если вы хотите избежать использования join
в образовательных целях, вы можете добавлять пробел только тогда, когда i не находится на последней позиции:
function createSentence(words) {
var sentence = "";
for (var i = 0; i < words.length; i ) {
sentence = words[i];
if (i === words.length - 1) {
return sentence = '.';
} else {
sentence = ' '; // <---
}
}
}
var result1 = createSentence(['I', 'am', 'worth', 'it']);
console.log('should log "I am worth it.":', result1);
var result2 = createSentence(['My', 'problems', 'matter']);
console.log('should log "My problems matter.":', result2);
Ответ №3:
Цикл не требуется. Просто соедините все элементы массива пробелом и добавьте a .
в конец.
function createSentence(words) {
return words.join(" ") ".";
}
console.log('should log "I am worth it.":', createSentence(['I', 'am', 'worth', 'it']));
console.log('should log "My problems matter.":', createSentence(['My', 'problems', 'matter']));