@DashaSyr

(JS) Как реализовать публичный статический метод fromIterable(iterable) для класса Stack?

Необходимо реализовать статический публичный метод:

fromIterable(iterable) - возвращает новый Stack, элементами которого служат элементы переданной итерируемой сущности. Максимальное количество элементов такого стека должно быть равно длине этой сущности. Если сущность не является итерируемой генерировать ошибку.
Мой код:

class Stack {
  constructor() {
    this.items = [];
  }

  push(element) {
    this.items.push(element);
  }

  pop() {
    if (this.items.length === 0) throw new Error('Error');

    return this.items.pop();
  }

  peek() {
    if (this.length === 0) return null;

    return this.items[this.items.length - 1];
  }

  isEmpty() {
    return this.items.length === 0;
  }
}

let myStack = new Stack();
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ответы на вопрос 1
@wind-of
constructor(items = []) {
  this.items = items
}

static fromIterable(iterable) {
  if(!iterable[Symbol.iterator]) {
    throw new Error("Non-iterable")
  }
  return new Stack(...iterable)
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы