2017-12-18 113 views
0

我正在使用维基百科的API来获取我的位置周围的地方。按对象内的值排序JSON结果

所以我试过: That request 但我得到的结果按pageID排序,而不是距离。 如何使用排序命令在JavaScript中执行操作?

谢谢您的帮助;-) 亚历克西斯

+0

或者,如果有人能解释我如何排序的JavaScript?因为我不知道如何根据另一个数组中的值进行排序。 –

+0

你想排序的pageid或dist值 – jeevanswamy21

+0

我会爱分数值 –

回答

0

var data =[{ 
 
\t "batchcomplete": "", 
 
\t "query": { 
 
\t \t "pages": { 
 
\t \t \t "1052923": { 
 
\t \t \t \t "pageid": 1052923, 
 
\t \t \t \t "ns": 0, 
 
\t \t \t \t "title": "Stade du Pays de Charleroi", 
 
\t \t \t \t "index": 0, 
 
\t \t \t \t "coordinates": [ 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t "lat": 50.4146503, 
 
\t \t \t \t \t \t "lon": 4.4537527, 
 
\t \t \t \t \t \t "primary": "", 
 
\t \t \t \t \t \t "globe": "earth", 
 
\t \t \t \t \t \t "dist": 683.4 
 
\t \t \t \t \t } 
 
\t \t \t \t ], 
 
\t \t \t \t "thumbnail": { 
 
\t \t \t \t \t "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/Charleroi_Stade_du_Pays_de_Charleroi_1.jpg/500px-Charleroi_Stade_du_Pays_de_Charleroi_1.jpg", 
 
\t \t \t \t \t "width": 500, 
 
\t \t \t \t \t "height": 288 
 
\t \t \t \t } 
 
\t \t \t }, 
 
\t \t \t "1237678": { 
 
\t \t \t \t "pageid": 1237678, 
 
\t \t \t \t "ns": 0, 
 
\t \t \t \t "title": "Chet (métro de Charleroi)", 
 
\t \t \t \t "index": 1, 
 
\t \t \t \t "coordinates": [ 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t "lat": 50.410417, 
 
\t \t \t \t \t \t "lon": 4.464397, 
 
\t \t \t \t \t \t "primary": "", 
 
\t \t \t \t \t \t "globe": "earth", 
 
\t \t \t \t \t \t "dist": 750.8 
 
\t \t \t \t \t } 
 
\t \t \t \t ], 
 
\t \t \t \t "thumbnail": { 
 
\t \t \t \t \t "source": "https://upload.wikimedia.org/wikipedia/commons/4/42/MLC-chet.jpg", 
 
\t \t \t \t \t "width": 500, 
 
\t \t \t \t \t "height": 375 
 
\t \t \t \t }, 
 
\t \t \t \t "terms": { 
 
\t \t \t \t \t "description": [ 
 
\t \t \t \t \t \t "station du métro de Charleroi (Belgique)" 
 
\t \t \t \t \t ] 
 
\t \t \t \t } 
 
\t \t \t }, 
 
\t \t \t "1237691": { 
 
\t \t \t \t "pageid": 1237691, 
 
\t \t \t \t "ns": 0, 
 
\t \t \t \t "title": "Neuville (métro de Charleroi)", 
 
\t \t \t \t "index": 2, 
 
\t \t \t \t "coordinates": [ 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t "lat": 50.414637, 
 
\t \t \t \t \t \t "lon": 4.458818, 
 
\t \t \t \t \t \t "primary": "", 
 
\t \t \t \t \t \t "globe": "earth", 
 
\t \t \t \t \t \t "dist": 381.9 
 
\t \t \t \t \t } 
 
\t \t \t \t ], 
 
\t \t \t \t "thumbnail": { 
 
\t \t \t \t \t "source": "https://upload.wikimedia.org/wikipedia/commons/8/8f/MLC-neuville.jpg", 
 
\t \t \t \t \t "width": 500, 
 
\t \t \t \t \t "height": 375 
 
\t \t \t \t }, 
 
\t \t \t \t "terms": { 
 
\t \t \t \t \t "description": [ 
 
\t \t \t \t \t \t "station du métro de Charleroi (Belgique)" 
 
\t \t \t \t \t ] 
 
\t \t \t \t } 
 
\t \t \t }, 
 
\t \t \t "1241539": { 
 
\t \t \t \t "pageid": 1241539, 
 
\t \t \t \t "ns": 0, 
 
\t \t \t \t "title": "Waterloo (métro de Charleroi)", 
 
\t \t \t \t "index": 3, 
 
\t \t \t \t "coordinates": [ 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t "lat": 50.4175, 
 
\t \t \t \t \t \t "lon": 4.45, 
 
\t \t \t \t \t \t "primary": "", 
 
\t \t \t \t \t \t "globe": "earth", 
 
\t \t \t \t \t \t "dist": 895.2 
 
\t \t \t \t \t } 
 
\t \t \t \t ], 
 
\t \t \t \t "thumbnail": { 
 
\t \t \t \t \t "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Waterloo_metro_station_%28Charleroi%29_-_01.jpg/500px-Waterloo_metro_station_%28Charleroi%29_-_01.jpg", 
 
\t \t \t \t \t "width": 500, 
 
\t \t \t \t \t "height": 331 
 
\t \t \t \t }, 
 
\t \t \t \t "terms": { 
 
\t \t \t \t \t "description": [ 
 
\t \t \t \t \t \t "station du métro de Charleroi (Belgique)" 
 
\t \t \t \t \t ] 
 
\t \t \t \t } 
 
\t \t \t }, 
 
\t \t \t "1264919": { 
 
\t \t \t \t "pageid": 1264919, 
 
\t \t \t \t "ns": 0, 
 
\t \t \t \t "title": "Samaritaine (métro de Charleroi)", 
 
\t \t \t \t "index": 4, 
 
\t \t \t \t "coordinates": [ 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t "lat": 50.42, 
 
\t \t \t \t \t \t "lon": 4.461389, 
 
\t \t \t \t \t \t "primary": "", 
 
\t \t \t \t \t \t "globe": "earth", 
 
\t \t \t \t \t \t "dist": 336.9 
 
\t \t \t \t \t } 
 
\t \t \t \t ], 
 
\t \t \t \t "thumbnail": { 
 
\t \t \t \t \t "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/45/Samaritaine_metro_station_%28Charleroi%29_-_01.jpg/500px-Samaritaine_metro_station_%28Charleroi%29_-_01.jpg", 
 
\t \t \t \t \t "width": 500, 
 
\t \t \t \t \t "height": 331 
 
\t \t \t \t }, 
 
\t \t \t \t "terms": { 
 
\t \t \t \t \t "description": [ 
 
\t \t \t \t \t \t "station du métro de Charleroi (Belgique)" 
 
\t \t \t \t \t ] 
 
\t \t \t \t } 
 
\t \t \t }, 
 
\t \t \t "1264973": { 
 
\t \t \t \t "pageid": 1264973, 
 
\t \t \t \t "ns": 0, 
 
\t \t \t \t "title": "Gazomètre (métro de Charleroi)", 
 
\t \t \t \t "index": 5, 
 
\t \t \t \t "coordinates": [ 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t "lat": 50.421944, 
 
\t \t \t \t \t \t "lon": 4.473889, 
 
\t \t \t \t \t \t "primary": "", 
 
\t \t \t \t \t \t "globe": "earth", 
 
\t \t \t \t \t \t "dist": 965 
 
\t \t \t \t \t } 
 
\t \t \t \t ], 
 
\t \t \t \t "thumbnail": { 
 
\t \t \t \t \t "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Charleroi_OSM_map.svg/374px-Charleroi_OSM_map.svg.png", 
 
\t \t \t \t \t "width": 374, 
 
\t \t \t \t \t "height": 500 
 
\t \t \t \t }, 
 
\t \t \t \t "terms": { 
 
\t \t \t \t \t "description": [ 
 
\t \t \t \t \t \t "station du métro de Charleroi (Belgique)" 
 
\t \t \t \t \t ] 
 
\t \t \t \t } 
 
\t \t \t }, 
 
\t \t \t "1269274": { 
 
\t \t \t \t "pageid": 1269274, 
 
\t \t \t \t "ns": 0, 
 
\t \t \t \t "title": "Janson (métro de Charleroi)", 
 
\t \t \t \t "index": 6, 
 
\t \t \t \t "coordinates": [ 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t "lat": 50.413056, 
 
\t \t \t \t \t \t "lon": 4.451944, 
 
\t \t \t \t \t \t "primary": "", 
 
\t \t \t \t \t \t "globe": "earth", 
 
\t \t \t \t \t \t "dist": 878.3 
 
\t \t \t \t \t } 
 
\t \t \t \t ], 
 
\t \t \t \t "thumbnail": { 
 
\t \t \t \t \t "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Janson_Metro_Station%2C_Charleroi_05.JPG/500px-Janson_Metro_Station%2C_Charleroi_05.JPG", 
 
\t \t \t \t \t "width": 500, 
 
\t \t \t \t \t "height": 281 
 
\t \t \t \t }, 
 
\t \t \t \t "terms": { 
 
\t \t \t \t \t "description": [ 
 
\t \t \t \t \t \t "station du métro de Charleroi (Belgique)" 
 
\t \t \t \t \t ] 
 
\t \t \t \t } 
 
\t \t \t }, 
 
\t \t \t "3924344": { 
 
\t \t \t \t "pageid": 3924344, 
 
\t \t \t \t "ns": 0, 
 
\t \t \t \t "title": "Liste des rues de Charleroi", 
 
\t \t \t \t "index": 7, 
 
\t \t \t \t "coordinates": [ 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t "lat": 50.417556, 
 
\t \t \t \t \t \t "lon": 4.450976, 
 
\t \t \t \t \t \t "primary": "", 
 
\t \t \t \t \t \t "globe": "earth", 
 
\t \t \t \t \t \t "dist": 826.5 
 
\t \t \t \t \t } 
 
\t \t \t \t ], 
 
\t \t \t \t "thumbnail": { 
 
\t \t \t \t \t "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/f/f3/Map_Charleroi_in_Charleroi.svg/500px-Map_Charleroi_in_Charleroi.svg.png", 
 
\t \t \t \t \t "width": 500, 
 
\t \t \t \t \t "height": 492 
 
\t \t \t \t }, 
 
\t \t \t \t "terms": { 
 
\t \t \t \t \t "description": [ 
 
\t \t \t \t \t \t "page de liste de Wikipédia" 
 
\t \t \t \t \t ] 
 
\t \t \t \t } 
 
\t \t \t }, 
 
\t \t \t "5819249": { 
 
\t \t \t \t "pageid": 5819249, 
 
\t \t \t \t "ns": 0, 
 
\t \t \t \t "title": "Tour Bleue", 
 
\t \t \t \t "index": 8, 
 
\t \t \t \t "coordinates": [ 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t "lat": 50.412, 
 
\t \t \t \t \t \t "lon": 4.45364, 
 
\t \t \t \t \t \t "primary": "", 
 
\t \t \t \t \t \t "globe": "earth", 
 
\t \t \t \t \t \t "dist": 850.2 
 
\t \t \t \t \t } 
 
\t \t \t \t ], 
 
\t \t \t \t "thumbnail": { 
 
\t \t \t \t \t "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Charleroi_-_Tour_bleue_-_2015-01-31.jpg/331px-Charleroi_-_Tour_bleue_-_2015-01-31.jpg", 
 
\t \t \t \t \t "width": 331, 
 
\t \t \t \t \t "height": 500 
 
\t \t \t \t } 
 
\t \t \t }, 
 
\t \t \t "6234241": { 
 
\t \t \t \t "pageid": 6234241, 
 
\t \t \t \t "ns": 0, 
 
\t \t \t \t "title": "Square Jules Hiernaux", 
 
\t \t \t \t "index": 9, 
 
\t \t \t \t "coordinates": [ 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t "lat": 50.417556, 
 
\t \t \t \t \t \t "lon": 4.450976, 
 
\t \t \t \t \t \t "primary": "", 
 
\t \t \t \t \t \t "globe": "earth", 
 
\t \t \t \t \t \t "dist": 826.5 
 
\t \t \t \t \t } 
 
\t \t \t \t ], 
 
\t \t \t \t "thumbnail": { 
 
\t \t \t \t \t "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/Charleroi_-_Universit%C3%A9_du_Travail_-_Vigie.JPG/500px-Charleroi_-_Universit%C3%A9_du_Travail_-_Vigie.JPG", 
 
\t \t \t \t \t "width": 500, 
 
\t \t \t \t \t "height": 375 
 
\t \t \t \t }, 
 
\t \t \t \t "terms": { 
 
\t \t \t \t \t "description": [ 
 
\t \t \t \t \t \t "place de Charleroi, Belgique" 
 
\t \t \t \t \t ] 
 
\t \t \t \t } 
 
\t \t \t }, 
 
\t \t \t "6470845": { 
 
\t \t \t \t "pageid": 6470845, 
 
\t \t \t \t "ns": 0, 
 
\t \t \t \t "title": "Maison des médecins", 
 
\t \t \t \t "index": 10, 
 
\t \t \t \t "coordinates": [ 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t "lat": 50.415102, 
 
\t \t \t \t \t \t "lon": 4.449836, 
 
\t \t \t \t \t \t "primary": "", 
 
\t \t \t \t \t \t "globe": "earth", 
 
\t \t \t \t \t \t "dist": 931.7 
 
\t \t \t \t \t } 
 
\t \t \t \t ], 
 
\t \t \t \t "thumbnail": { 
 
\t \t \t \t \t "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Charleroi_-_maison_des_m%C3%A9decins_-_02.jpg/289px-Charleroi_-_maison_des_m%C3%A9decins_-_02.jpg", 
 
\t \t \t \t \t "width": 289, 
 
\t \t \t \t \t "height": 500 
 
\t \t \t \t }, 
 
\t \t \t \t "terms": { 
 
\t \t \t \t \t "description": [ 
 
\t \t \t \t \t \t "maison Art nouveau à Charleroi" 
 
\t \t \t \t \t ] 
 
\t \t \t \t } 
 
\t \t \t }, 
 
\t \t \t "7696487": { 
 
\t \t \t \t "pageid": 7696487, 
 
\t \t \t \t "ns": 0, 
 
\t \t \t \t "title": "Porte de Waterloo ou de la Belle Alliance de Charleroi", 
 
\t \t \t \t "index": 11, 
 
\t \t \t \t "coordinates": [ 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t "lat": 50.422794, 
 
\t \t \t \t \t \t "lon": 4.466356, 
 
\t \t \t \t \t \t "primary": "", 
 
\t \t \t \t \t \t "globe": "earth", 
 
\t \t \t \t \t \t "dist": 689.1 
 
\t \t \t \t \t } 
 
\t \t \t \t ], 
 
\t \t \t \t "thumbnail": { 
 
\t \t \t \t \t "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Montignies-sur-Sambre_-_Porte_de_Waterloo.jpg/375px-Montignies-sur-Sambre_-_Porte_de_Waterloo.jpg", 
 
\t \t \t \t \t "width": 375, 
 
\t \t \t \t \t "height": 500 
 
\t \t \t \t } 
 
\t \t \t }, 
 
\t \t \t "8848501": { 
 
\t \t \t \t "pageid": 8848501, 
 
\t \t \t \t "ns": 0, 
 
\t \t \t \t "title": "Caserne Defeld", 
 
\t \t \t \t "index": 12, 
 
\t \t \t \t "coordinates": [ 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t "lat": 50.412008, 
 
\t \t \t \t \t \t "lon": 4.453642, 
 
\t \t \t \t \t \t "primary": "", 
 
\t \t \t \t \t \t "globe": "earth", 
 
\t \t \t \t \t \t "dist": 849.5 
 
\t \t \t \t \t } 
 
\t \t \t \t ], 
 
\t \t \t \t "thumbnail": { 
 
\t \t \t \t \t "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/4/45/Charleroi_-_Bd_Mayence_-_Caserne_Defeld_-_portail.jpg/500px-Charleroi_-_Bd_Mayence_-_Caserne_Defeld_-_portail.jpg", 
 
\t \t \t \t \t "width": 500, 
 
\t \t \t \t \t "height": 375 
 
\t \t \t \t }, 
 
\t \t \t \t "terms": { 
 
\t \t \t \t \t "description": [ 
 
\t \t \t \t \t \t "ancienne caserne de la gendarmerie à Charleroi" 
 
\t \t \t \t \t ] 
 
\t \t \t \t } 
 
\t \t \t }, 
 
\t \t \t "10059120": { 
 
\t \t \t \t "pageid": 10059120, 
 
\t \t \t \t "ns": 0, 
 
\t \t \t \t "title": "Maternité reine Astrid", 
 
\t \t \t \t "index": 13, 
 
\t \t \t \t "coordinates": [ 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t "lat": 50.415, 
 
\t \t \t \t \t \t "lon": 4.45194444, 
 
\t \t \t \t \t \t "primary": "", 
 
\t \t \t \t \t \t "globe": "earth", 
 
\t \t \t \t \t \t "dist": 790.6 
 
\t \t \t \t \t } 
 
\t \t \t \t ], 
 
\t \t \t \t "thumbnail": { 
 
\t \t \t \t \t "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/18/Charleroi_-_Porte_de_Waterloo_et_Bd_Dewandre_en_1937.jpg/500px-Charleroi_-_Porte_de_Waterloo_et_Bd_Dewandre_en_1937.jpg", 
 
\t \t \t \t \t "width": 500, 
 
\t \t \t \t \t "height": 242 
 
\t \t \t \t }, 
 
\t \t \t \t "terms": { 
 
\t \t \t \t \t "description": [ 
 
\t \t \t \t \t \t "ancien hôpital de Charleroi" 
 
\t \t \t \t \t ] 
 
\t \t \t \t } 
 
\t \t \t }, 
 
\t \t \t "10190333": { 
 
\t \t \t \t "pageid": 10190333, 
 
\t \t \t \t "ns": 0, 
 
\t \t \t \t "title": "Attentat du 6 août 2016 à Charleroi", 
 
\t \t \t \t "index": 14, 
 
\t \t \t \t "coordinates": [ 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t "lat": 50.412, 
 
\t \t \t \t \t \t "lon": 4.45364, 
 
\t \t \t \t \t \t "primary": "", 
 
\t \t \t \t \t \t "globe": "earth", 
 
\t \t \t \t \t \t "dist": 850.2 
 
\t \t \t \t \t } 
 
\t \t \t \t ], 
 
\t \t \t \t "thumbnail": { 
 
\t \t \t \t \t "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Charleroi_-_Tour_bleue_-_2015-01-31.jpg/331px-Charleroi_-_Tour_bleue_-_2015-01-31.jpg", 
 
\t \t \t \t \t "width": 331, 
 
\t \t \t \t \t "height": 500 
 
\t \t \t \t } 
 
\t \t \t }, 
 
\t \t \t "10469222": { 
 
\t \t \t \t "pageid": 10469222, 
 
\t \t \t \t "ns": 0, 
 
\t \t \t \t "title": "Échangeur de Charleroi-Nord", 
 
\t \t \t \t "index": 15, 
 
\t \t \t \t "coordinates": [ 
 
\t \t \t \t \t { 
 
\t \t \t \t \t \t "lat": 50.4176, 
 
\t \t \t \t \t \t "lon": 4.4561, 
 
\t \t \t \t \t \t "primary": "", 
 
\t \t \t \t \t \t "globe": "earth", 
 
\t \t \t \t \t \t "dist": 465.4 
 
\t \t \t \t \t } 
 
\t \t \t \t ], 
 
\t \t \t \t "thumbnail": { 
 
\t \t \t \t \t "source": "https://upload.wikimedia.org/wikipedia/commons/thumb/1/13/Charleroi_-_R9_-_portes_de_Waterloo_et_de_Fleurus.jpg/500px-Charleroi_-_R9_-_portes_de_Waterloo_et_de_Fleurus.jpg", 
 
\t \t \t \t \t "width": 500, 
 
\t \t \t \t \t "height": 375 
 
\t \t \t \t }, 
 
\t \t \t \t "terms": { 
 
\t \t \t \t \t "description": [ 
 
\t \t \t \t \t \t "échangeur autoroutier belge" 
 
\t \t \t \t \t ] 
 
\t \t \t \t } 
 
\t \t \t } 
 
\t \t } 
 
\t } 
 
}]; 
 
//alert(data); 
 
//console.table(data); 
 
function sortByKey(jsObj){ 
 
    \t var sortedArray = []; 
 

 
    \t // Push each JSON Object entry in array by [key, value] 
 
    \t for(var i in jsObj) 
 
    \t { 
 
\t \t sortedArray.push([i, jsObj[i]]); 
 
\t } 
 

 
\t // Run native sort function and returns sorted array. 
 
\t return sortedArray.sort(); 
 
} 
 
var sortedbyKeyJSONArray = ''; 
 
     $.each(data, function (i, item) { 
 
     sortedbyKeyJSONArray = sortByKey(item.query.pages); 
 
     sortByKey(item.query.pages); 
 
      // console.table(item.query.pages); 
 
      //console.table(sortedbyKeyJSONArray); 
 
     }); 
 
     console.table(sortedbyKeyJSONArray); 
 
//var sortedbyKeyJSONArray = sortByKey(data.query.pages.coordinates.dist); 
 
//console.table(data); 
 
/*data.sort(function (a, b) { 
 
    return a.name.localeCompare(b.name); 
 
});*/ 
 
//document.write('<pre>' + JSON.stringify(data, 0, 4) + '</pre>');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

1
var data={"batchcomplete":"","query":{"pages":{"1052923":{"pageid":1052923,"ns":0,"title":"Stade du Pays de Charleroi","index":0,"coordinates":[{"lat":50.4146503,"lon":4.4537527,"primary":"","globe":"earth","dist":683.4}],"thumbnail":{"source":"https://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/Charleroi_Stade_du_Pays_de_Charleroi_1.jpg/500px-Charleroi_Stade_du_Pays_de_Charleroi_1.jpg","width":500,"height":288}},"1237678":{"pageid":1237678,"ns":0,"title":"Chet (m\u00e9tro de Charleroi)","index":1,"coordinates":[{"lat":50.410417,"lon":4.464397,"primary":"","globe":"earth","dist":750.8}],"thumbnail":{"source":"https://upload.wikimedia.org/wikipedia/commons/4/42/MLC-chet.jpg","width":500,"height":375},"terms":{"description":["station du m\u00e9tro de Charleroi (Belgique)"]}},"1237691":{"pageid":1237691,"ns":0,"title":"Neuville (m\u00e9tro de Charleroi)","index":2,"coordinates":[{"lat":50.414637,"lon":4.458818,"primary":"","globe":"earth","dist":381.9}],"thumbnail":{"source":"https://upload.wikimedia.org/wikipedia/commons/8/8f/MLC-neuville.jpg","width":500,"height":375},"terms":{"description":["station du m\u00e9tro de Charleroi (Belgique)"]}},"1241539":{"pageid":1241539,"ns":0,"title":"Waterloo (m\u00e9tro de Charleroi)","index":3,"coordinates":[{"lat":50.4175,"lon":4.45,"primary":"","globe":"earth","dist":895.2}],"thumbnail":{"source":"https://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Waterloo_metro_station_%28Charleroi%29_-_01.jpg/500px-Waterloo_metro_station_%28Charleroi%29_-_01.jpg","width":500,"height":331},"terms":{"description":["station du m\u00e9tro de Charleroi (Belgique)"]}},"1264919":{"pageid":1264919,"ns":0,"title":"Samaritaine (m\u00e9tro de Charleroi)","index":4,"coordinates":[{"lat":50.42,"lon":4.461389,"primary":"","globe":"earth","dist":336.9}],"thumbnail":{"source":"https://upload.wikimedia.org/wikipedia/commons/thumb/4/45/Samaritaine_metro_station_%28Charleroi%29_-_01.jpg/500px-Samaritaine_metro_station_%28Charleroi%29_-_01.jpg","width":500,"height":331},"terms":{"description":["station du m\u00e9tro de Charleroi (Belgique)"]}},"1264973":{"pageid":1264973,"ns":0,"title":"Gazom\u00e8tre (m\u00e9tro de Charleroi)","index":5,"coordinates":[{"lat":50.421944,"lon":4.473889,"primary":"","globe":"earth","dist":965}],"thumbnail":{"source":"https://upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Charleroi_OSM_map.svg/374px-Charleroi_OSM_map.svg.png","width":374,"height":500},"terms":{"description":["station du m\u00e9tro de Charleroi (Belgique)"]}},"1269274":{"pageid":1269274,"ns":0,"title":"Janson (m\u00e9tro de Charleroi)","index":6,"coordinates":[{"lat":50.413056,"lon":4.451944,"primary":"","globe":"earth","dist":878.3}],"thumbnail":{"source":"https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Janson_Metro_Station%2C_Charleroi_05.JPG/500px-Janson_Metro_Station%2C_Charleroi_05.JPG","width":500,"height":281},"terms":{"description":["station du m\u00e9tro de Charleroi (Belgique)"]}},"3924344":{"pageid":3924344,"ns":0,"title":"Liste des rues de Charleroi","index":7,"coordinates":[{"lat":50.417556,"lon":4.450976,"primary":"","globe":"earth","dist":826.5}],"thumbnail":{"source":"https://upload.wikimedia.org/wikipedia/commons/thumb/f/f3/Map_Charleroi_in_Charleroi.svg/500px-Map_Charleroi_in_Charleroi.svg.png","width":500,"height":492},"terms":{"description":["page de liste de Wikip\u00e9dia"]}},"5819249":{"pageid":5819249,"ns":0,"title":"Tour Bleue","index":8,"coordinates":[{"lat":50.412,"lon":4.45364,"primary":"","globe":"earth","dist":850.2}],"thumbnail":{"source":"https://upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Charleroi_-_Tour_bleue_-_2015-01-31.jpg/331px-Charleroi_-_Tour_bleue_-_2015-01-31.jpg","width":331,"height":500}},"6234241":{"pageid":6234241,"ns":0,"title":"Square Jules Hiernaux","index":9,"coordinates":[{"lat":50.417556,"lon":4.450976,"primary":"","globe":"earth","dist":826.5}],"thumbnail":{"source":"https://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/Charleroi_-_Universit%C3%A9_du_Travail_-_Vigie.JPG/500px-Charleroi_-_Universit%C3%A9_du_Travail_-_Vigie.JPG","width":500,"height":375},"terms":{"description":["place de Charleroi, Belgique"]}},"6470845":{"pageid":6470845,"ns":0,"title":"Maison des m\u00e9decins","index":10,"coordinates":[{"lat":50.415102,"lon":4.449836,"primary":"","globe":"earth","dist":931.7}],"thumbnail":{"source":"https://upload.wikimedia.org/wikipedia/commons/thumb/8/8e/Charleroi_-_maison_des_m%C3%A9decins_-_02.jpg/289px-Charleroi_-_maison_des_m%C3%A9decins_-_02.jpg","width":289,"height":500},"terms":{"description":["maison Art nouveau \u00e0 Charleroi"]}},"7696487":{"pageid":7696487,"ns":0,"title":"Porte de Waterloo ou de la Belle Alliance de Charleroi","index":11,"coordinates":[{"lat":50.422794,"lon":4.466356,"primary":"","globe":"earth","dist":689.1}],"thumbnail":{"source":"https://upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Montignies-sur-Sambre_-_Porte_de_Waterloo.jpg/375px-Montignies-sur-Sambre_-_Porte_de_Waterloo.jpg","width":375,"height":500}},"8848501":{"pageid":8848501,"ns":0,"title":"Caserne Defeld","index":12,"coordinates":[{"lat":50.412008,"lon":4.453642,"primary":"","globe":"earth","dist":849.5}],"thumbnail":{"source":"https://upload.wikimedia.org/wikipedia/commons/thumb/4/45/Charleroi_-_Bd_Mayence_-_Caserne_Defeld_-_portail.jpg/500px-Charleroi_-_Bd_Mayence_-_Caserne_Defeld_-_portail.jpg","width":500,"height":375},"terms":{"description":["ancienne caserne de la gendarmerie \u00e0 Charleroi"]}},"10059120":{"pageid":10059120,"ns":0,"title":"Maternit\u00e9 reine Astrid","index":13,"coordinates":[{"lat":50.415,"lon":4.45194444,"primary":"","globe":"earth","dist":790.6}],"thumbnail":{"source":"https://upload.wikimedia.org/wikipedia/commons/thumb/1/18/Charleroi_-_Porte_de_Waterloo_et_Bd_Dewandre_en_1937.jpg/500px-Charleroi_-_Porte_de_Waterloo_et_Bd_Dewandre_en_1937.jpg","width":500,"height":242},"terms":{"description":["ancien h\u00f4pital de Charleroi"]}},"10190333":{"pageid":10190333,"ns":0,"title":"Attentat du 6 ao\u00fbt 2016 \u00e0 Charleroi","index":14,"coordinates":[{"lat":50.412,"lon":4.45364,"primary":"","globe":"earth","dist":850.2}],"thumbnail":{"source":"https://upload.wikimedia.org/wikipedia/commons/thumb/c/c0/Charleroi_-_Tour_bleue_-_2015-01-31.jpg/331px-Charleroi_-_Tour_bleue_-_2015-01-31.jpg","width":331,"height":500}},"10469222":{"pageid":10469222,"ns":0,"title":"\u00c9changeur de Charleroi-Nord","index":15,"coordinates":[{"lat":50.4176,"lon":4.4561,"primary":"","globe":"earth","dist":465.4}],"thumbnail":{"source":"https://upload.wikimedia.org/wikipedia/commons/thumb/1/13/Charleroi_-_R9_-_portes_de_Waterloo_et_de_Fleurus.jpg/500px-Charleroi_-_R9_-_portes_de_Waterloo_et_de_Fleurus.jpg","width":500,"height":375},"terms":{"description":["\u00e9changeur autoroutier belge"]}}}} 
     }; 

var pagesKeys=Object.keys(data.query.pages); 

var pagesArray=pagesKeys.map(function(d){ 
    return data.query.pages[d]; 
}); 

pagesArray=pagesArray.sort(function(a,b){ 
    return a.coordinates[0].dist - b.coordinates[0].dist; 
}); 
console.log("Sorted Data based on Distance:"+pagesArray); 
+0

但这个排序后工作正常的哥们以上数据数组是变右页和页码错了地方。 – jeevanswamy21

+0

我认为不行请在控制台中试用。 –