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'));
360   5  

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]

С чистым JS:

var userIds = users.map( function(obj) { return obj.id; } );

новый релиз лодашь В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

    Ничего не найдено.