【发布时间】:2018-04-03 04:58:32
【问题描述】:
我是 Ionic 2 的初学者。我已成功将数据从 URL 提取到数组中。在我的 json 响应中,有多个重复的 JSON 对象。我需要对这个 json 对象进行排序,并且需要在 accordion-list
中显示这是我的 json 回复:
{
"result": [
{
"ws_type": "Speed Boat",
"ws_district": "Thane"
},
{
"ws_type": "Jet ski",
"ws_district": "Thane"
},
{
"ws_type": "Banana ride",
"ws_district": "Thane"
},
{
"ws_type": "Bumper ride",
"ws_district": "Thane"
},
{
"ws_type": "Parasailing",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "Kayaking",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Speed Boat",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "Speed Boat",
"ws_district": "Raigad"
},
{
"ws_type": "Speed Boat",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Speed Boat",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Speed Boat",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Rubber Boat",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Speed Boat",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride ",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Speed Boat",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Kayaking",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Speed Boat",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "Speed Boat",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "Speed Boat",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Speed Boat",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Speed Boat",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride ",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Motar Lounch",
"ws_district": "Raigad"
},
{
"ws_type": "Yacht",
"ws_district": "Raigad"
},
{
"ws_type": "Rubber Boat",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "Speed Boat",
"ws_district": "Raigad"
},
{
"ws_type": "Speed Boat",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Speed Boat",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Rubber Boat",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Jet ski",
"ws_district": "Raigad"
},
{
"ws_type": "Banana ride",
"ws_district": "Raigad"
},
{
"ws_type": "Bumper ride",
"ws_district": "Raigad"
},
{
"ws_type": "ATV Ride",
"ws_district": "Raigad"
},
{
"ws_type": "Speed Boat",
"ws_district": "Ratnagiri"
},
{
"ws_type": "Speed Boat",
"ws_district": "Ratnagiri"
},
{
"ws_type": "Jet ski",
"ws_district": "Ratnagiri"
},
{
"ws_type": "Speed Boat",
"ws_district": "Ratnagiri"
},
{
"ws_type": "Speed Boat",
"ws_district": "Ratnagiri"
},
{
"ws_type": "Jet ski",
"ws_district": "Ratnagiri"
},
{
"ws_type": "Banana ride",
"ws_district": "Ratnagiri"
},
{
"ws_type": "Bumper ride",
"ws_district": "Ratnagiri"
},
{
"ws_type": "Speed Boat",
"ws_district": "Ratnagiri"
},
{
"ws_type": "Speed Boat",
"ws_district": "Ratnagiri"
},
{
"ws_type": "Jet ski",
"ws_district": "Ratnagiri"
},
{
"ws_type": "Speed Boat",
"ws_district": "Ratnagiri"
},
{
"ws_type": "Jet ski",
"ws_district": "Ratnagiri"
},
{
"ws_type": "Speed Boat",
"ws_district": "Ratnagiri"
},
{
"ws_type": "Jet ski",
"ws_district": "Ratnagiri"
},
{
"ws_type": "Speed Boat ",
"ws_district": "Ratnagiri"
},
{
"ws_type": "ATV Ride",
"ws_district": "Ratnagiri"
},
{
"ws_type": "Jet ski",
"ws_district": "Ratnagiri"
},
{
"ws_type": "ATV Ride",
"ws_district": "Ratnagiri"
},
{
"ws_type": "ATV Ride",
"ws_district": "Ratnagiri"
},
{
"ws_type": "Jet ski",
"ws_district": "Ratnagiri"
},
{
"ws_type": "WaterScooter",
"ws_district": "Sindhudurg"
},
{
"ws_type": "Speed Boat",
"ws_district": "Sindhudurg"
},
{
"ws_type": "Jet ski",
"ws_district": "Sindhudurg"
},
{
"ws_type": "WaterScooter",
"ws_district": "Sindhudurg"
},
{
"ws_type": "Speed Boat",
"ws_district": "Sindhudurg"
},
{
"ws_type": "Parasailing",
"ws_district": "Sindhudurg"
},
{
"ws_type": "WaterScooter",
"ws_district": "Sindhudurg"
},
{
"ws_type": "Kayaking",
"ws_district": "Sindhudurg"
},
{
"ws_type": "Banana ride ",
"ws_district": "Sindhudurg"
},
{
"ws_type": "Bumper ride",
"ws_district": "Sindhudurg"
},
{
"ws_type": "Parasailing",
"ws_district": "Sindhudurg"
}
]
}
这是我的代码
我正在使用以下代码对 json 对象进行排序,但没有得到所需的结果:
var result = _.values((this.information.reduce((r,o) => {
r[o.ws_type] = r[o.ws_type] || r[o.ws_district] ||{ws_type: o.ws_type, children: []};
//r[o.ws_district] = r[o.ws_district] || r[o.ws_district] ||{ws_district: o.ws_district, children: []};
r[o.ws_type].children.push( r[o.ws_district] || r[o.ws_district] ||{ws_district: o.ws_district});
return r;
},{})));
所需输出
我希望 Raigad 区在我的列表中只出现一次。这是因为我的结果 JSON 数组
中有多个重复的 json 对象要求的结果:
- 快艇
- 雷加德
- 拉特纳吉里
- 辛杜杜尔格
- 领主
谢谢。请帮忙解决这个问题。
【问题讨论】:
标签: ionic-framework ionic2 ionic3 ionic-native