我有一个这样的对象数组:

var characters = [
    { 'name': 'barney',  'age': 36, 'salary':{'amount': 10} },
    { 'name': 'fred',    'age': 40, 'salary':{'amount': 20} },
    { 'name': 'pebbles', 'age': 1,  'salary':{'amount': 30} }
];

我想将薪水金额分配到一个数组中。我设法通过链接两个pluck函数来做到这一点,如下所示:
var salaries = _(characters)
  .pluck('salary')
  .pluck('amount')
  .value();

console.log(salaries); //[10, 20, 30]

有没有办法只使用一个pluck来做到这一点? lodash中的其他功能是否有更好的方法?

最佳答案

您可以只给出要用作字符串的路径,像这样

console.log(_(characters).pluck('salary.amount').value())
// [ 10, 20, 30 ]

或直接使用
console.log(_.pluck(characters, 'salary.amount'));
// [ 10, 20, 30 ]

关于javascript - Lodash通过拔取获取嵌套对象属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33279819/

10-13 06:11