Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

320
Vistas
Propia implementación de _.map() en JavaScript

Tratando de entender esto:

 const _ = {}; _.map = function(list, callback){ var storage = []; for(let i=0; i<list.length; i++){ storage.push(callback(list[i], i, list)); } return storage; } _.map([1,2,3], function(val){return val+1;})

¿Por qué la devolución de llamada requiere 3 argumentos, cuando claramente solo necesitamos uno?

 _.map = function(list, callback){ var storage = []; for(let i=0; i<list.length; i++){ storage.push(callback(list[i])); //****** This works too! } return storage; } _.map([1,2,3], function(val){return val+1;})

Contexto: Haciendo un curso de Frontend Masters, donde lo implementaron como la primera versión.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Un método Array#map puede tener hasta 3 parámetros para su devolución de llamada. mencionado aquí https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

 map((element) => { ... }) map((element, index) => { ... }) map((element, index, array) => { ... })

dado que no está utilizando los otros dos index, array no estaría definida.

ejecute el siguiente código para que ambas declaraciones se entiendan mejor.

 _.map([1,2,3], function(val,index,arr){ console.log(val) console.log(index) console.log(arr) })
about 4 years ago · Juan Pablo Isaza Denunciar

0

Es porque si busca la definición actual de Array.prototype.map , la función de devolución de llamada puede recibir hasta tres argumentos, como puede ver a continuación.

 map(function callbackFn(element) { ... }) map(function callbackFn(element, index) { ... }) map(function callbackFn(element, index, array){ ... }) map(function callbackFn(element, index, array) { ... }, thisArg)

Además del elemento en el índice dado en la matriz a la que llama la función de mapa, puede recibir el índice y la matriz en sí.

devolución de llamadaFn

Función que se llama para cada elemento de arr. Cada vez que se ejecuta callbackFn, el valor devuelto se agrega a newArray.

La función callbackFn acepta los siguientes argumentos:

  • elemento

     The current element being processed in the array.
  • índice Opcional

     The index of the current element being processed in the array.
  • matriz Opcional

     The array map was called upon.
  • thisArg Opcional

    Valor para usar como este al ejecutar callbackFn.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda