Imagine esto: ha configurado la llamada y el trabajo de la API. Los datos han vuelto con lo que espera. ¿Ahora? Es hora de trabajar con esos datos para crear la solución que está buscando. De repente ves un error en tu consola.

¿Qué pasó y por qué ves que este objeto.map no es una función? Lea más para averiguarlo. La causa del problema de su error es en realidad bastante simple: el método .map () es aplicable solo cuando se trabaja con Matrix. Específicamente, el método existe en el prototipo de matriz como array.prototype.map (). Este método se introdujo inicialmente en 2009 con ES5 y es muy útil en muchos escenarios. Array.map () Tome una función de llamada inversa como un parámetro único y único. Esa llamada inversa recibe dos parámetros: su elemento actual e índice en la matriz. El método en sí funciona de manera similar a la llamada Array.Foreach (), excepto que los valores devueltos de la devolución de llamada se reúnen en una nueva matriz que devuelve el método en sí.
Crear una nueva matriz a partir de una matriz determinada es una forma de mantener la inmutabilidad en el código JavaScript. Es importante tener en cuenta que si usa Array.Map () en una matriz de objeto y cambia una propiedad en un objeto determinado, ese objeto ahora se ha movido. Para evitar esto, primero puede crear una copia del objeto y luego cambiar la copia.
Por ejemplo, si tiene una matriz de números y desea crear una nueva matriz en la que cada número en la matriz original se duplique, simplemente puede hacer esto:
Const elementos = [1, 2, 3]; // ES5 Enfoque const doubledites = items.map (function (item) {return item * 2;}); // es6+ enfoque const doubledites = items.map ((item) => {return item * 2;}); // Mínimo Código de enfoque const Doubledites = items.map ((item) => item * 2); consola .log (doubleditems); // [2, 4, 6] Lenguaje del código: JavaScript (JavaScript) La solución para resolver object.map no es una función, primero realice la forma de los datos con los que trabaja y luego cree una matriz a partir de esos datos, dependiendo de qué son los datos. Por ejemplo, sus datos pueden ser un objeto simple, pero la matriz que está buscando es realmente dentro de ese objeto. En este caso, use solo la notación con puntos para acceder a la propiedad deseada:
Const objeto = {elementos: [{id: 1, fecha: “ítem 1 fecha”,}, {id: 2, fecha: “item 2 fecha”,} ,,}; construy error = objeto.map ((elemento) => item.data); // ¡esto causará tu error! // Intead, asigna sobre el Raoter de propresión de elementos que el objeto principal constant = object.items.map ((item) => item.data); consola .log (resultado); // [“Artículo 1 Fecha”, “Artículo 2 Fecha”]
Lenguaje de código: JavaScript (JavaScript) Es posible que sus datos sean un objeto simple, pero los datos que desea que se almacenen en cada clave del objeto. En este caso, puede viajar esas claves y hacer la lógica sobre el valor de cada clave:
Const objeto = {1: {id: “1”, fecha: “Elemento 1 fecha”,}, 2: {id: “2”, fecha: “ítem 2 fecha”,},}; construy error = objeto.map ((elemento) => item.data); // ¡esto causará tu error! // Obtenga una matriz de las teclas en su objeto const array = object .keys (objeto); // [1, 2] // recorre esa matriz usando cada clave para obtener el valor constante = array.map ((key) => {constancy = object [key]; // Realice su lógica deseada aquí. Return value.data;}); consola .log (resultado); // [“Elemento 1 Fecha”, “Elemento 2 Fecha”] Languaje del código: JavaScript (JavaScript) Otra solución común es necesaria cuando se trabaja con un conjunto o un mapa de JavaScript. Debido a que ambos son iterables e incluso tienen un método .foreach (), puede asumir razonablemente que .map () funcionaría. Debido a que no son técnicamente matriz, necesitará una solución. La solución es similar tanto para un conjunto como para un mapa e incluso tenemos un artículo que explica cómo trabajar con sus valores más detallados, que puede ver aquí.
// — Ejemplo de solución de mapa — const mymap = new Map (); mymap.set (1, “elemento 1 fecha”); mymap.set (2, “elemento 2 fecha”); const mymaperror = mymap.map (); // ¡esto causará tu error! // creó una matriz a partir de los valores del mapa const myMapArray = [… myMap.Values ()]; const mymapressult = myMapArray.map ((item) => {// Realiza tu lógica aquí (item) {return item;}}); consola .log (myMeMapressult); // [“Elemento 1 fecha”, “Elemento 2 fecha”] // — Establecer Ejemplo de solución — const myset = new Set (); myset.add (“Elemento 1 fecha”); myset.add (“Elemento 2 fecha”); // Dado que los valores establecidos tienen únicos, esto no se agregará al set myset.add (“elemento 2 fecha”); const mysetError = myset.map (); // ¡esto causará tu error! Const mySetArray = [… myset.values ()]; const mysettResult = mySetArray.map ((item) => {// Realiza tu lógica aquí (item) {return item;}}; consola .log (mysetresul); // [“Elemento 1 Fecha”, “Elemento 2 Fecha”] Languaje del código: JavaScript (JavaScript) Si desea evitar errores en el futuro, especialmente si no sabe la forma exacta de datos, intentará llamar a la matriz. MAP (), aquí hay una función simple para mapear de forma segura los valores de una matriz:
const sfelymap = (date, callback) => {if (! (date && array .isArray (date)) {return []; } Return data.map (devolución de llamada); }; // función arbitraria de devolución de llamada const tallback = (item) => item; .log consola (safelymap (nulo, devolución de llamada)); // [] consola .log (safelyMap (nuevo set (), devolución de llamada)); // [] consola .log (SafelyMap ([1, 2, 3], devolución de llamada)); // [1, 2, 3]

Idioma de código: JavaScript (JavaScript) Espero que una de estas soluciones resuelva el caso específico, pero si no, deje un comentario y estaremos encantados de ayudarlo. El Codexisotrópico Codex es una colección de código y educación para desarrolladores de WordPress, Web y Web y WooCommerce.
referencia
Suscribir y distribuir
Si le gustó este contenido, suscríbase al resumen mensual de noticias de WordPress, inspiración para sitios web, ofertas exclusivas y artículos interesantes.
Dar la baja en cualquier momento.No enviamos spam y nunca venderemos o distribuiremos su correo electrónico.
Cómo arreglar Object.map no es un error de función en JavaScript
Tags Cómo arreglar Object.map no es un error de función en JavaScript
homefinance blog