Javascript 如何仅返回一个特定密钥对的多个集合?
使用lodash,我希望获取具有多个密钥对的多个集合,并返回具有特定密钥对的集合 输入JSON:Javascript 如何仅返回一个特定密钥对的多个集合?,javascript,lodash,Javascript,Lodash,使用lodash,我希望获取具有多个密钥对的多个集合,并返回具有特定密钥对的集合 输入JSON: var rawCollection = [ { "city": "Antwerp", "region": "Europe", "spanish_city_name": "Amberes", "title": "Antwerp" }, { "city": "Antwerp", "region": "NA", "spanish_city_name"
var rawCollection = [
{
"city": "Antwerp",
"region": "Europe",
"spanish_city_name": "Amberes",
"title": "Antwerp"
},
{
"city": "Antwerp",
"region": "NA",
"spanish_city_name": "Amberes",
"title": "Antwerp"
},
{
"city": "Antwerp",
"region": "SA",
"spanish_city_name": "Amberes",
"title": "Antwerp"
}
]
期望输出:
[{
"region": "Europe",
},
{
"region": "NA",
},
{
"region": "SA"
}]
我尝试了uniq(rawCollection,'region'),\u filter
和其他一些功能
试一试
使用:
这将为您提供区域名称数组(字符串数组),而不是对象数组。像这样:
[ 'Europe', 'NA', 'SA' ]
拥有一堆具有单个字段的对象似乎是浪费。但是,如果您想要像问题中那样的对象数组,则可以这样做:
var regions = _.map(rawCollection, _.partialRight(_.pick, 'region'));
使用partOK
可以缩写代码。这相当于:
var regions = _.map(rawCollection , function (x) {
return _.pick(x, 'region');
});
map
调用将返回:
[ { region: 'Europe' }, { region: 'NA' }, { region: 'SA' } ]
使用:
这将为您提供区域名称数组(字符串数组),而不是对象数组。像这样:
[ 'Europe', 'NA', 'SA' ]
拥有一堆具有单个字段的对象似乎是浪费。但是,如果您想要像问题中那样的对象数组,则可以这样做:
var regions = _.map(rawCollection, _.partialRight(_.pick, 'region'));
使用partOK
可以缩写代码。这相当于:
var regions = _.map(rawCollection , function (x) {
return _.pick(x, 'region');
});
map
调用将返回:
[ { region: 'Europe' }, { region: 'NA' }, { region: 'SA' } ]
需要对对象而不是对象调用
pick
collection@Bergi . 谢谢你指出这一点。实际上指的是。pick
需要对对象而不是对象调用collection@Bergi . 谢谢你指出这一点。实际上指的是。
。