数组排序后获取ID?

时间:2016-11-09 17:39:56

标签: jquery arrays json sorting

如何在排序数组后获取我的捐赠ID?

var distance = [];

我遍历一个JSON文件并将ID和响应(响应是当前用户位置和商店位置之间的距离)添加到数组距离:distance[item.properties.Nid] = response;

每次添加到数组的新距离后,我再次对数组进行排序:

sort_stores = function(stores){
    stores = stores.filter(function(item){
        return item !== undefined;
    });

    stores.sort(function(a, b){
        return a - b;
    });

    console.log(stores);
};

但我怎样才能获得我的身份证distance[item.properties.Nid]?当我将stores记录到我的控制台时,只有响应正在记录..

1 个答案:

答案 0 :(得分:1)

以不同方式组织您的数据,以便您的数据在一个对象中同时具有ID和距离。

所以,存储如下:

Customer

并使用此功能排序:

distance.push( { Nid: item.properties.Nid, distance: response });

要获得距离,您可以执行以下操作:

sort_stores = function(stores){
    // NB: first step (filter out undefined) is not needed anymore
    stores.sort(function(a, b){
        return a.distance - b.distance; // add distance property
    });

    console.log(stores);
};

或循环:

firstDistance = stores[0].distance;