【发布时间】:2021-11-09 04:52:25
【问题描述】:
我有一个这样的字典列表,其中可能包含基于一些字典属性(不是所有属性)的重复项:
const data = [{
name: 'v',
latitude: '30.0',
longitude: '25.0'
}, {
name: 'w',
latitude: '30.0',
longitude: '25.0'
}, {
name: 'x',
latitude: '45.9',
longitude: '50.2'
}, {
name: 'y',
latitude: '40.5',
longitude: '85.7'
}, {
name: 'z',
latitude: '40.5',
longitude: '85.7'
}];
在这里,如果两个字典具有相同的经度和纬度,则它们被视为重复。
目标是减少这个一维列表,将一种类型的所有重复项分组到一个嵌套列表中。例如,如果我们有三个具有相同坐标的副本,它们应该进入自己的嵌套列表,而另一个坐标的两个副本进入不同的嵌套列表。即使是没有重复的独立坐标也应该进入它自己的嵌套列表。我们希望最终得到一个列表,其中每个项目都是一个表示唯一坐标的列表。
期望的输出:
[
[
{
name: 'v',
latitude: '30.0',
longitude: '25.0'
}, {
name: 'w',
latitude: '30.0',
longitude: '25.0'
}
],
[
{
name: 'x',
latitude: '45.9',
longitude: '50.2'
}
],
[
{
name: 'y',
latitude: '40.5',
longitude: '85.7'
}, {
name: 'z',
latitude: '40.5',
longitude: '85.7'
}
]
];
编辑:更正了所需的输出,以便所有项目都是列表。
【问题讨论】:
标签: javascript arrays reduce