javascript - tutorial - LoDash: obtenga una matriz de valores de una matriz de propiedades de objeto
lodash tutorial (6)
Estoy seguro de que está en algún lugar dentro de los documentos de LoDash, pero parece que no puedo encontrar la combinación correcta.
var users = [{
id: 12,
name: Adam
},{
id: 14,
name: Bob
},{
id: 16,
name: Charlie
},{
id: 18,
name: David
}
]
// how do I get [12, 14, 16, 18]
var userIds = _.map(users, _.pick(''id''));
Con puro JS:
var userIds = users.map( function(obj) { return obj.id; } );
Desde la versión v4.x deberías usar
_.map
:
_.map(users, ''id''); // [12, 14, 16, 18]
de esta manera corresponde al método nativo Array.prototype.map donde escribirías (sintaxis ES2015):
users.map(user => user.id); // [12, 14, 16, 18]
Antes de v4.x podría usar
_.pluck
la misma manera:
_.pluck(users, ''id''); // [12, 14, 16, 18]
En la nueva
versión v4.0.0 de
_.pluck
ha eliminado a favor de
_.map
Entonces puedes usar esto:
_.map(users, ''id''); // [12, 14, 16, 18]
Puedes ver en el registro de cambios de Github
Esto te dará lo que quieres en una ventana emergente.
for(var i = 0; i < users.Count; i++){
alert(users[i].id);
}
Si está utilizando JavaScript nativo, puede usar este código:
let ids = users.map(function(obj, index) {
return obj.id;
})
console.log(ids); //[12, 14, 16, 18]
Y si necesita extraer varias propiedades de cada objeto, entonces
let newArr = _.map(arr, o => _.pick(o, [''name'', ''surname'', ''rate'']));