web-dev-qa-db-fra.com

Tri des tableaux en javascript par valeur de clé d'objet

Comment voulez-vous trier ce tableau avec ces objets par distance. Pour que les objets soient triés de la plus petite distance à la plus grande distance?

Object { distance=3388, duration="6 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}

Object { distance=13564, duration="12 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}

Object { distance=4046, duration="6 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}

Object { distance=11970, duration="17 mins", from="Lenchen Ave, Centurion 0046, South Africa", more...}
28
Harry

Utilisez la méthode Array 'S sort() , par exemple

myArray.sort(function(a, b) {
    return a.distance - b.distance;
});
62
Phil

Pas spectaculaire différent des réponses déjà données, mais plus générique est: 

sortArrayOfObjects = (arr, key) => {
    return arr.sort((a, b) => {
        return a[key] - b[key];
    });
};

sortArrayOfObjects(yourArray, "distance");
1
Arthur van Acker

Cela a fonctionné pour moi

var files=data.Contents;
          files = files.sort(function(a,b){
        return a.LastModified - b. LastModified;
      });

OU utilisez Lodash pour trier le tableau

files = _.orderBy(files,'LastModified','asc');
0
Vinod Poorma