0
votes

Comment trier un tableau d'objets à l'aide des valeurs de clé d'objet de type chaîne

J'ai un tableau comme celui-ci

​​ p>

 let years =[
       {id: 3, name: "2016", age: "None"},
       {id: 1, name: "2017", age: "None"},
       {id: 2, name: "2015", age: "None"},
       {id: 5, name: "2018", age: "None"},
       {id: 3, name: "2018/2019", age: "None"}
       ]
       
years.sort((c1, c2) => {
        return c2.name - c1.name;
       });
       
console.log(years);       


0 commentaires

4 Réponses :



0
votes

Essayez ceci:

years.sort((c1, c2) => {
  if (c1.name > c2.name) return -1;
  if (c1.name < c2.name) return 1;
  return 0;
});


0 commentaires

0
votes

Vous pouvez utiliser Lodash _. Sorty xxx

sortie serait

 Entrez la description de l'image ici


0 commentaires

1
votes

Vous êtes presque là ... juste un peu de changement dans votre raclage de tri et c'est fait ::

let years = [
    { id: 3, name: '2016', age: 'None' },
    { id: 1, name: '2017', age: 'None' },
    { id: 2, name: '2015', age: 'None' },
    { id: 5, name: '2018', age: 'None' },
    { id: 3, name: '2018/2019', age: 'None' },
];
years.sort((c1, c2) => {
    var n1 = c1.name;
    var n2 = c2.name;
    if(n1 > n2){return -1;
    }else if(n2 > n1){ return 1;
}else{return 0;}
   });
console.log(years);


0 commentaires