我有一个像这样的对象数组:
var characters = [
{ 'name': 'barney', 'age': 36, 'salary':{'amount': 10} },
{ 'name': 'fred', 'age': 40, 'salary':{'amount': 20} },
{ 'name': 'pebbles', 'age': 1, 'salary':{'amount': 30} }
];
Run Code Online (Sandbox Code Playgroud)
我想将工资金额放入一个数组中。我设法通过链接两个pluck函数来做到这一点,如下所示:
var salaries = _(characters)
.pluck('salary')
.pluck('amount')
.value();
console.log(salaries); //[10, 20, 30]
Run Code Online (Sandbox Code Playgroud)
有没有办法只使用一个来做到这一点pluck?在 lodash 中还有其他一些功能更好的方法吗?
你可以只给出要用作字符串的路径,就像这样
console.log(_(characters).pluck('salary.amount').value())
// [ 10, 20, 30 ]
Run Code Online (Sandbox Code Playgroud)
或者直接使用
console.log(_.pluck(characters, 'salary.amount'));
// [ 10, 20, 30 ]
Run Code Online (Sandbox Code Playgroud)