Как добавить строку в массив и вернуть строку - PullRequest
0 голосов
/ 17 июня 2019

Построить функцию для цикла.Он принимает массив в качестве аргумента.Начните отсчет с 0 и, используя цикл for, добавьте строку в массив 25 раз.Но не просто строка.Если ваше значение i равно 1, добавьте строку «I is 1 странный цикл.»;если ваше значение i - что-то еще, добавьте строку «I is $ {i} странные циклы».(Помните управление потоком с помощью if и else? И как мы интерполируем i?) Затем возвращаем массив.

Обучение в режиме онлайн, и у меня возникают проблемы с пониманием того, что необходимо для возврата массива со строкой, добавленной в него 25 раз?

function forLoop(array) {
  for (let i = 0; i < 25; i++) {
    if (i === 1) {
      console.log(`${array} I am 1 strange loop.`);
    } else {
      console.log(`${array}I am ${i} strange loops.`);
    }
  }
}

forLoop(array);

adds `"I am ${i} strange loop${i === 0 ? '' : 's'}."` to an array 25 times:
TypeError: Cannot read property 'slice' of undefined    

Ответы [ 3 ]

1 голос
/ 17 июня 2019

Ты рядом.Вам просто нужно push строка в массив, а затем вернуть массив в конце.

function forLoop(arr) {
  for (let i = 0; i < 25; i++) {
    if (i === 1) {

      // Use `push` to add the string to the array
      arr.push(`I am 1 strange loop.`);
    } else {
      arr.push(`I am ${i} strange loops.`);
    }
  }

  // Return your array
  return arr;
}


// Create the array and pass it into the function
const arr = [];

// `out` captures the returned array
const out = forLoop(arr);
console.log(out);
1 голос
/ 17 июня 2019

Вы были почти там.Небольшие обновления сделаны и размещены ниже

function forLoop(array) {
    for (let i = 1; i <= 25; i++) {
        array.push(`I am ${i} strange ${i == 1 ? 'loop' : 'loops'}.`)
    }
    return array;
}

const result = forLoop([]);
console.log(result);
0 голосов
/ 17 июня 2019
function forLoop(array: string[]) {
for (let i = 0; i < 25; i++) {
var messsage= 'I am '+i+' strange loop' + (i>0 ? 's.':'.');
 array.push (messsage);
 console.log(array[i])
      }
    }
const array:string[]=[];

forLoop(array);

console.log(array.length)

jsfiddle Link

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...