Cómo resolver "find is not a function" error en JavaScript

Cómo resolver find is not a function error en JavaScript

 

En este tutorial, aprenderemos cómo resolver TypeError: find is not a function en JavaScript

Cuando usamos un Array.find() método en un valor que no es un tipo de datos de matriz, obtendremos el siguiente error en nuestra consola.

Ejemplo:

const arr=  {
   a: 1,
   b: 2,
   c: 3
};

arr.find(el => el > 1 );

Salir:

"TypeError: arr.find is not a function

En el ejemplo anterior, obtenemos el error porque estamos usando el find() método en un objeto. find() El método solo está disponible en matrices.

Para resolver el error, debemos asegurarnos de llamar al método find() en una matriz válida.

Aquí un ejemplo:

const arr = [1, 2, 3];

const result = arr.find(el => el > 1 );;
console.log(result); 

Nota la find() El método devuelve el primer elemento de la matriz que pasa la condición de prueba.

Si obtiene el error cuando trabaja con una colección HTML, convierta la colección HTML en una matriz antes de llamar find() método en él.

const elements = document.getElementsByClassName("container");

[...elements].find(el => el.style.color === "red");

También podemos verificar si el valor dado es una matriz de tipo o no antes de llamar al find() método en él. Así podemos evitar errores de tiempo de ejecución.

var arr = [1, 2, 3];

if(Array.isArray(arr)){
    arr.find(el => el < 3);
}else{
    console.log("Given data is not an array")
}

Él Array.isArray() toma la variable como argumento y devuelve verdadero, si la variable dada es una matriz válida; de lo contrario, devolverá falso.

En el ejemplo anterior, pasamos un número al Array.isArray() método. Entonces devuelve falso y ejecuta el caso 'else' y registra el mensaje "Los datos proporcionados no son una matriz" en la consola.

Conclusión

El error "buscar no es una función" ocurre cuando llamamos a un método find() en un valor que no es una matriz. Para resolver el error, convierta el valor en una matriz antes de llamar al método find() o asegúrese de usar el método find() en una matriz válida.

Si quieres conocer otros artículos parecidos a Cómo resolver "find is not a function" error en JavaScript puedes visitar la categoría Tutoriales.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página web utiliza cookies para analizar de forma anónima y estadística el uso que haces de la web, mejorar los contenidos y tu experiencia de navegación. Para más información accede a la Política de Cookies . Ver mas