Lodash - 如何获得多个结果
Lodash - How to get multiple results
我正在使用 lodash。我喜欢。
我有一个用户数组,如下所示:
var users = [{
'user': 'barney',
'age': 36,
'active': true
}, {
'user': 'fred',
'age': 40,
'active': false
}, {
'user': 'pebbles',
'age': 1,
'active': true
}];
以下是我如何找到第一个用户并选择 user
属性:
_.result(_.find(users, 'active', false), 'user');
// 'fred'
但是,我想提取 user
和 age
值。这个怎么写?
如果您只想 select 来自单个结果的 user
和 age
列,您可以像这样使用 pick() 函数:
_.pick(_.find(users, 'active'), ['user', 'age']);
// 'barney', 36
如果你想过滤 project 那么你可以使用 where() and map():
_.map(_.where(users, 'active'), _.partialRight(_.pick, ['user', 'age']));
// [{ name: 'barney', age: 36 }, { user: 'pebbles', age: 1 } ]
如果您想要数组中的对象用户而不是属性 'user',您可以从 _.find.
中获取它
_.find(users, 'active', false);
// {'user': 'fred', 'age': 40, 'active': false}
我正在使用 lodash。我喜欢。
我有一个用户数组,如下所示:
var users = [{
'user': 'barney',
'age': 36,
'active': true
}, {
'user': 'fred',
'age': 40,
'active': false
}, {
'user': 'pebbles',
'age': 1,
'active': true
}];
以下是我如何找到第一个用户并选择 user
属性:
_.result(_.find(users, 'active', false), 'user');
// 'fred'
但是,我想提取 user
和 age
值。这个怎么写?
如果您只想 select 来自单个结果的 user
和 age
列,您可以像这样使用 pick() 函数:
_.pick(_.find(users, 'active'), ['user', 'age']);
// 'barney', 36
如果你想过滤 project 那么你可以使用 where() and map():
_.map(_.where(users, 'active'), _.partialRight(_.pick, ['user', 'age']));
// [{ name: 'barney', age: 36 }, { user: 'pebbles', age: 1 } ]
如果您想要数组中的对象用户而不是属性 'user',您可以从 _.find.
中获取它_.find(users, 'active', false);
// {'user': 'fred', 'age': 40, 'active': false}