Underc0de - La Casa de los Informáticos

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: TheJB en Junio 20, 2020, 11:51:28 AM

Título: [SOLUCIONADO] Javascript no me toma el argumento
Publicado por: TheJB en Junio 20, 2020, 11:51:28 AM
Código (javascript) [Seleccionar]
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'.
Título: Re:Javascript no me toma el argumento
Publicado por: ??????? en Junio 20, 2020, 01:39:47 PM
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) [Seleccionar]


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