LoDash: получить массив значений из массива свойств объекта
Я уверен, что это где-то внутри документов LoDash, но я не могу найти правильную комбинацию.
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'));
5 ответов:
начиная с версии v4.X вы должны использовать
_.map:_.map(users, 'id'); // [12, 14, 16, 18]таким образом соответствует уроженца массив.прототип.карта метод, в котором вы бы написали (синтаксис ES2015):
users.map(user => user.id); // [12, 14, 16, 18]прежде чем В4.х вы могли бы использовать
_.pluckтаким же образом:_.pluck(users, 'id'); // [12, 14, 16, 18]
новый релиз лодашь В4.0.0
_.pluckудалил в пользу_.mapзатем вы можете использовать это:
_.map(users, 'id'); // [12, 14, 16, 18]вы можете ознакомиться в Гитхаб Изменений
Если вы используете собственный javascript, то вы можете использовать этот код -
let ids = users.map(function(obj, index) { return obj.id; }) console.log(ids); //[12, 14, 16, 18]
Это даст вам то, что вы хотите во всплывающем окне.
for(var i = 0; i < users.Count; i++){ alert(users[i].id); }
Comments