В этой статье будет определена упомянутая ошибка и ее возможные решения.
Как происходит «TypeError: object.forEach не является функцией в JavaScript»?
Когда используется значение, не являющееся массивом, картой или набором, « для каждого() такой метод, как « Объект » и так далее, « TypeError: object.forEach не является функцией в JavaScript ' происходит. Проверим заявленную причину практически.
Пример
В данном примере сначала мы создадим объект с его свойствами в паре ключ-значение:
константа объект знак равно {
имя : 'Стивен' ,
роллно : одиннадцать ,
предмет : «Коммерция»
} ;
Затем выведите его свойства/записи на консоль с помощью метода forEach():
объект. для каждого ( О => {
приставка. журнал ( О ) ;
} ) ;
Как видно из вывода, возникает ошибка, поскольку метод forEach неприменим для объектов:
Как исправить указанную ошибку?
Чтобы устранить обсуждаемую выше ошибку, используйте методы объекта, такие как « Объект.keys() », чтобы получить ключи в массиве, « Объект.значения() ” для получения значений объекта или “ Объект.записи() ” для получения всех записей объекта. Более того, « Массив.от() ” преобразует указанный объект в массив объектов.
Давайте попробуем пример, чтобы решить эту проблему.
Пример 1. Исправление указанной ошибки с помощью метода Object.entries()
В этом примере мы получим записи объекта, используя « Объект.записи() ” метод с “ для каждого() », который возвращает массив записей объекта в парах ключ-значение:
Объект . записи ( объект ) . для каждого ( в => {приставка. журнал ( в ) ;
} ) ;
Это не даст ошибки, потому что метод Object.entries() преобразует значения в массив, а метод forEach() используется для выполнения данной функции на каждом элементе.
Вывод показывает, что метод forEach() успешно запущен для объекта с использованием метода Object.entries():
Примечание: Метод forEach также применяется для получения ключей и значений объекта с помощью методов Object.keys() и Object.values().
Теперь давайте посмотрим, не хотите ли вы получить ключи, значения или записи объекта, и что бы вы сделали? Смотрите приведенный пример!
Пример 2. Исправление указанной ошибки с помощью метода Array.from()
Чтобы исправить эту ошибку, преобразуйте объект в массив объектов, а затем примените к нему метод forEach() с помощью « Массив.от() метод. Он напечатает все свойства объекта без ошибки.
Давайте сначала преобразуем объект в массив объектов:
константа объект знак равно [ {имя : 'Стивен' ,
роллно : одиннадцать ,
предмет : «Коммерция»
} ]
Вызовите метод forEach():
Множество . от ( объект ) . для каждого ( в => {приставка. журнал ( в ) ;
} ) ;
Вывод
Мы собрали все лучшие возможные решения для исправления указанной ошибки.
Заключение
Упомянутая ошибка возникает, когда вы пытаетесь использовать « для каждого() ” для значения, которое не является массивом, набором или картой. Чтобы исправить эту ошибку, используйте « Массив.от() », чтобы преобразовать объект в массив, а затем использовать для него метод forEach(). В данной статье описано возникновение и решение указанной ошибки.