我有一个像这样的对象数组:
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中有其他功能有更好的方法吗?
答案 0 :(得分:3)
您可以将路径用作字符串,例如
console.log(_(characters).pluck('salary.amount').value())
// [ 10, 20, 30 ]
或直接使用
console.log(_.pluck(characters, 'salary.amount'));
// [ 10, 20, 30 ]