Underscore.js groupBy 和包含
Underscore.js groupBy and Contains
我有两个值数组,一个需要对另一个进行分组,因此:
var countries = ['IT', 'BE', 'SE'];
var items = [
{amount: 9, country: 'IT'},
{amount: 5, country: 'US'},
{amount: 4, country: 'BE'},
{amount: 3, country: 'IT'},
{amount: 9, country: 'BE'},
{amount: 9, country: 'SE'}
];
var groupedItems = _.groupBy(items, function (item) {
// Hint please
});
我需要按照以下规则对 countries
进行分组:
- 分组如果
item.country === 'IT'
- 分组如果
item.country !== 'IT' && _.contains(countries, item.country)
- 分组如果
!_.contains(countries, item.country)
有什么提示吗?
感谢评论中的提示,这非常简单:
_.groupBy(function (item) {
if (item.country !== 'IT' && _.contains(countries, item.country)) {
return 'IT';
} else if (item.country === 'IT') {
return 'UE';
} else if (!_.contains(countries, item.country)) {
return 'EXTRA-UE';
}
});
我有两个值数组,一个需要对另一个进行分组,因此:
var countries = ['IT', 'BE', 'SE'];
var items = [
{amount: 9, country: 'IT'},
{amount: 5, country: 'US'},
{amount: 4, country: 'BE'},
{amount: 3, country: 'IT'},
{amount: 9, country: 'BE'},
{amount: 9, country: 'SE'}
];
var groupedItems = _.groupBy(items, function (item) {
// Hint please
});
我需要按照以下规则对 countries
进行分组:
- 分组如果
item.country === 'IT'
- 分组如果
item.country !== 'IT' && _.contains(countries, item.country)
- 分组如果
!_.contains(countries, item.country)
有什么提示吗?
感谢评论中的提示,这非常简单:
_.groupBy(function (item) {
if (item.country !== 'IT' && _.contains(countries, item.country)) {
return 'IT';
} else if (item.country === 'IT') {
return 'UE';
} else if (!_.contains(countries, item.country)) {
return 'EXTRA-UE';
}
});