[SOLUCIONADO] Javascript no me toma el argumento

Iniciado por TheJB, Junio 20, 2020, 11:51:28 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Junio 20, 2020, 11:51:28 AM Ultima modificación: Junio 27, 2020, 12:41:59 AM por AXCESS
Código: javascript
function pluck(array,propiedad) {

    var resultado = array.map(function(elemento,indice){
      return elemento.propiedad
    })
   
    console.log(resultado)
   
}

var mi_array = [{ name: 'TV LCD', price: 100}, { name: 'Computadora', price: 500 }]

pluck(mi_array,'name')


Tengo que pasarle el argumento 'name' pero al asignarlo me devuelve 'undefined'.

Junio 20, 2020, 01:39:47 PM #1 Ultima modificación: Junio 20, 2020, 01:41:50 PM por Kirari
Tu primer error es usar el parámetro propiedad como si fuera realmente una propiedad, valga la redundancia, lo que está haciendo ahí es usar una cadena, no una propiedad del objeto, Por lo que usar return elemento.propiedad no va. Para que pueda solucionar este problema, simplemente haga lo siguiente:

Código: javascript


function pluck(array, propiedad) {

  var resultado = array.map(function(elemento) {
    return elemento[propiedad]   // Está es una forma de llamar a una propiedad a través de cadenas. Esto equivale a elemento['name'] o a elemento.name, en el caso que el argumento propiedad sea 'name', por ejemplo.
  });

  console.log(resultado);

}

var mi_array = [{
  name: 'TV LCD',
  price: 100
}, {
  name: 'Computadora',
  price: 500
}]

pluck(mi_array, 'name');



Espero haberle ayudado. Saludos!
-Kirari