Este artículo definirá el error mencionado y sus posibles soluciones.
¿Cómo ocurre 'TypeError: object.forEach no es una función en JavaScript'?
Cuando se utiliza un valor que no es una matriz, un mapa o un conjunto, el ' para cada() ” método como “ Objeto ” y así sucesivamente, el “ TypeError: object.forEach no es una función en JavaScript ' ocurre. Probemos la causa declarada de manera práctica.
Ejemplo
En el ejemplo dado, primero, crearemos un objeto con sus propiedades en un par clave-valor:
constante objeto = {
nombre : 'Esteban' ,
rollo no : 11 ,
tema : 'Comercio'
} ;
Luego, imprime sus propiedades/entradas en la consola usando el método forEach():
objeto. para cada ( O => {
consola. Iniciar sesión ( O ) ;
} ) ;
Como puede ver en el resultado, se encuentra un error porque el método forEach no se aplica a los objetos:
¿Cómo corregir el error especificado?
Para resolver el error discutido anteriormente, use los métodos de Object como ' Objeto.claves() ” para obtener claves en una matriz, “ Objeto.valores() ” para obtener valores del objeto, o “ Objeto.entradas() ” para recuperar todas las entradas de un objeto. Además, el “ matriz.desde() El método convierte el objeto especificado en una matriz de objetos.
Probemos un ejemplo para resolver este problema.
Ejemplo 1: Solucione el error mencionado usando un método Object.entries()
En este ejemplo, obtendremos las entradas de un objeto usando el ' Objeto.entradas() ” método con el “ para cada() ” método que devuelve una matriz de entradas de objetos en pares clave-valor:
Objeto . entradas ( objeto ) . para cada ( en => {consola. Iniciar sesión ( en ) ;
} ) ;
No dará un error, porque el método Object.entries() convierte los valores en una matriz y el método forEach() se usa para ejecutar la función dada en cada elemento.
El resultado indica que el método forEach() se ejecuta con éxito en el objeto mediante el método Object.entries():
Nota: El método forEach también se aplica para obtener claves y valores de un objeto usando el método Object.keys() y Object.values().
Ahora, veamos si no desea obtener las claves, los valores o las entradas de un objeto, entonces, ¿qué haría? ¡Vea el ejemplo dado!
Ejemplo 2: Solucione el error mencionado usando el método Array.from()
Para corregir este error, convierta el objeto en una matriz de objetos y luego aplique el método forEach() usando el ' matriz.desde() ' método. Imprimirá todas las propiedades de un objeto sin dar un error.
Primero, convirtamos el objeto en una matriz de objetos:
constante objeto = [ {nombre : 'Esteban' ,
rollo no : 11 ,
tema : 'Comercio'
} ]
Llame al método forEach():
Formación . desde ( objeto ) . para cada ( en => {consola. Iniciar sesión ( en ) ;
} ) ;
Producción
Hemos recopilado todas las mejores soluciones posibles para corregir el error especificado.
Conclusión
El error mencionado ocurre cuando intentas usar el “ para cada() ” en un valor que no es una matriz, un conjunto o un mapa. Para corregir este error, utilice el ' matriz.desde() ” para convertir el objeto en una matriz y luego usar el método forEach() en él. Este artículo describe la ocurrencia y solución del error mencionado.