Функциональный способ вызова метода для объектов в массиве

Я хотел бы вызвать метод, который не принимает никаких аргументов и ничего не возвращает, для каждого объекта в массиве однородных объектов, не используя цикл for следующим образом:

for (let i = 0; i < list.length; i++) {
 list[i].someMethod();
}

Я рассмотрел использование Array.forEach (и дисконтированного Array.map), попытался передать имя метода в виде строки и с помощью call и захвата метода прототипа из одного из объектов, а также для чтения по области на разных веб-сайты.

Я не вижу чистый способ сделать это, таким образом, что каждый вызов связан с правильным this. Может ли кто-нибудь указать, какую ослепительно очевидную технику я упустил?

1 ответ

Используйте анонимную функцию как обратный вызов forEach и вызывайте метод как обычно: list.forEach(function(o) { o.someMethod(); });

licensed under cc by-sa 3.0 with attribution.