Нужно ли вводить новую переменную здесь? (Учебник по строкам MDN) - PullRequest
0 голосов
/ 16 января 2020

Я абсолютный новичок ie в информатике. Прошу терпения.
Я следовал этому учебному пособию и у меня первый «пример активного обучения».

const list = document.querySelector('.output ul');
list.innerHTML = '';
let greetings = ['Happy Birthday!',
                 'Merry Christmas my love',
                 'A happy Christmas to all the family',
                 'You\'re all I want for Christmas',
                 'Get well soon'];

for (let i = 0; i < greetings.length; i++) {
  let input = greetings[i];
  // Your conditional test needs to go inside the parentheses
  // in the line below, replacing what's currently there
  if (greetings[i]) {
    let listItem = document.createElement('li');
    listItem.textContent = input;
    list.appendChild(listItem);
  }
}

Цель состоит в том, чтобы изменить приведенный выше код так, в режиме реального времени будут отображаться только значения массива, включающие «Рождество». Это мое решение:

for (let i = 0; i < greetings.length; i++) {
  let input = greetings[i];
  if (greetings[i].indexOf('Christmas') !== -1) {
    let listItem = document.createElement('li');
    listItem.textContent = input;
    list.appendChild(listItem);
  }
}

Это решение учебника (то же самое, за исключением введения новой переменной - «результата»):

for (let i = 0; i < greetings.length; i++) {
  let input = greetings[i];
  if (greetings[i].indexOf('Christmas') !== -1) {
    let result = input;
    let listItem = document.createElement('li');
    listItem.textContent = result;
    list.appendChild(listItem);
  }

Необходимо ли вводить "результат", когда он все равно будет изменен на "вход"?

1 Ответ

0 голосов
/ 16 января 2020

Дополнительная переменная совершенно не нужна и используется только для стилистики c. Обычно, если вы определяете переменную, которая используется только один раз, например, переменную result, это длинное и сложное выражение, которое может сбивать с толку.

...