Javascript subline.js groupBy和Contains
我有两个值数组,其中一个需要按另一个进行分组,因此:Javascript subline.js groupBy和Contains,javascript,arrays,group-by,underscore.js,Javascript,Arrays,Group By,Underscore.js,我有两个值数组,其中一个需要按另一个进行分组,因此: 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
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
});
我需要按照以下规则对国家进行分组:
- 如果
item.country==“IT”
- 如果
item.country!='它包含(国家、项目、国家)
- 如果
!\u,则分组。包含(国家/地区、项目.国家/地区)
有什么提示吗?由于评论中的提示,这非常简单:
_.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';
}
});
将这些规则添加到函数中,如果满足条件,则返回适当的值,例如,如果满足条件1,则返回1;如果满足条件2,则返回2等。更改每组返回的值是缺少的部分。谢谢