Javascript 基于属性从对象数组创建分组数组
我有一个对象地址数组,我想根据city属性对该数组进行分组,并返回一个新数组。当然,我不知道输入数组中有多少个不同的城市。我看了类似的问题,但不知道怎么做。我只需要一个通用的动态逻辑。另外,如果可能的话,我想先看看老式的香草JavaScript解决方案 输入 输出:Javascript 基于属性从对象数组创建分组数组,javascript,Javascript,我有一个对象地址数组,我想根据city属性对该数组进行分组,并返回一个新数组。当然,我不知道输入数组中有多少个不同的城市。我看了类似的问题,但不知道怎么做。我只需要一个通用的动态逻辑。另外,如果可能的话,我想先看看老式的香草JavaScript解决方案 输入 输出: const output = [ [ { description: 'berlin1', address: { street: 'address h
const output = [
[
{
description: 'berlin1',
address: {
street: 'address here',
city: 'berlin'
}
},
{
description: 'berlin2',
address: {
street: 'address here',
city: 'berlin'
}
},
{
description: 'berlin3',
address: {
street: 'address here',
city: 'berlin'
}
},
{
description: 'berlin4',
address: {
street: 'address here',
city: 'berlin'
}
}
],
[
{
description: 'munich1',
address: {
street: 'address here',
city: 'munich'
}
},
{
description: 'munich2',
address: {
street: 'address here',
city: 'munich'
}
}
],
[
{
description: 'hamburg1',
address: {
street: 'address here',
city: 'hamburg'
}
}
]
]
您可以使用Lodash库,使用groupBy方法按城市分组,然后获取值以返回数组 const props=[{描述:'berlin1',地址:{街道:'address here',城市:'berlin'}},{描述:'munich1',地址:{街道:'address here',城市:'munich'},{描述:'munich2',地址:{街道:'address here',城市:'munich'},{描述:',{描述:'berlin3',地址:{街道:'address here',城市:'berlin'}},{描述:'hamburg1',地址:{街道:'address here',城市:'hamburg'},{描述:'berlin4',地址:{街道:'address here',城市:'berlin'}] const result=u.values_uu.groupByprops,'address.city' console.logresult
您可以使用Lodash库,使用groupBy方法按城市分组,然后获取值以返回数组 const props=[{描述:'berlin1',地址:{街道:'address here',城市:'berlin'}},{描述:'munich1',地址:{街道:'address here',城市:'munich'},{描述:'munich2',地址:{街道:'address here',城市:'munich'},{描述:',{描述:'berlin3',地址:{街道:'address here',城市:'berlin'}},{描述:'hamburg1',地址:{街道:'address here',城市:'hamburg'},{描述:'berlin4',地址:{街道:'address here',城市:'berlin'}] const result=u.values_uu.groupByprops,'address.city' console.logresult
如果你想要一种老式的方式 var props=[{描述:'berlin1',地址:{街道:'address here',城市:'berlin'}},{描述:'munich1',地址:{街道:'address here',城市:'berlin2',地址:{街道:'address here',城市:'berlin'},{描述:'munich2',地址:{街道:'address here城市:'munich'},{描述:'berlin3',地址:{街道:'address here',城市:'berlin'}},{描述:'hamburg1',地址:{街道:'address here',城市:'hamburg'},{描述:'berlin4',地址:{街道:'address here',城市:'berlin'}] 函数groupbycityar{ 变量组={}; 对于变量i=0;i
控制台。日志城市;没有库。我需要一个普通的JS解决方案。没有库。我需要一个普通的JS解决方案。
const output = [
[
{
description: 'berlin1',
address: {
street: 'address here',
city: 'berlin'
}
},
{
description: 'berlin2',
address: {
street: 'address here',
city: 'berlin'
}
},
{
description: 'berlin3',
address: {
street: 'address here',
city: 'berlin'
}
},
{
description: 'berlin4',
address: {
street: 'address here',
city: 'berlin'
}
}
],
[
{
description: 'munich1',
address: {
street: 'address here',
city: 'munich'
}
},
{
description: 'munich2',
address: {
street: 'address here',
city: 'munich'
}
}
],
[
{
description: 'hamburg1',
address: {
street: 'address here',
city: 'hamburg'
}
}
]
]