Какие условия можно включить в метод Array.from? - PullRequest
0 голосов
/ 13 июля 2020

Следующий код: Array.from({length: 5}, (v, i) => i);

возвращает следующий массив [0, 1, 2, 3, 4]

Есть ли другие условия, которые вы можете включить в фигурные скобки? (например, чтобы изменить значение начального элемента или шага последовательности)

1 Ответ

1 голос
/ 13 июля 2020

Array.from принимает итерируемое или значение, подобное массиву , и делает из него «настоящий» массив.

В вашем пример {length: 5} - объект, подобный массиву.

Пример итерируемого объекта, который также может быть передан в Array.from:

let range = {
  from: 1,
  to: 5,

  [Symbol.iterator]() {
    this.current = this.from;
    return this;
  },

  next() {
    if (this.current <= this.to) {
      return { done: false, value: this.current++ };
    } else {
      return { done: true };
    }
  }
};

for (let num of range) {
  alert(num); // 1, then 2, 3, 4, 5
}

Для дополнительных информацию см .:

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