Trier un tableau d'objets en fonction des valeurs de propriété
P粉561749334
P粉561749334 2023-08-21 12:42:00
0
2
539
<p>J'ai obtenu les objets suivants en utilisant AJAX et les ai stockés dans un tableau : </p> <pre class="brush:php;toolbar:false;">var maisons = [ { "h_id": "3", "ville": "Dallas", "état": "Texas", "zip": "75201", "prix": "162500" }, { "h_id": "4", "ville": "Beverly Hills", "state": "Californie", "zip": "90210", "prix": "319250" }, { "h_id": "5", "ville": "New York", "state": "État de New York", "zip": "00010", "prix": "962500" } ];≪/pré> <p>Comment puis-je créer une fonction à l'aide de JavaScript qui trie les objets par ordre croissant<strong> ou </strong>décroissant en utilisant uniquement la propriété <code>price</code> </p>
P粉561749334
P粉561749334

répondre à tous(2)
P粉956441054

Il s'agit d'une version plus flexible qui vous permet de créer des fonctions de tri réutilisables et de trier par n'importe quel champ.

const sort_by = (field, reverse, primer) => {

  const key = primer ?
    function(x) {
      return primer(x[field])
    } :
    function(x) {
      return x[field]
    };

  reverse = !reverse ? 1 : -1;

  return function(a, b) {
    return a = key(a), b = key(b), reverse * ((a > b) - (b > a));
  }
}


//现在您可以按任何字段排序...

const homes=[{h_id:"3",city:"Dallas",state:"TX",zip:"75201",price:"162500"},{h_id:"4",city:"Bevery Hills",state:"CA",zip:"90210",price:"319250"},{h_id:"5",city:"New York",state:"NY",zip:"00010",price:"962500"}];

// 按价格从高到低排序
console.log(homes.sort(sort_by('price', true, parseInt)));

// 按城市排序,不区分大小写,按A-Z排序
console.log(homes.sort(sort_by('city', false, (a) =>  a.toUpperCase()
)));
P粉493534105

Trier les maisons par prix par ordre croissant :

homes.sort(function(a, b) {
    return parseFloat(a.price) - parseFloat(b.price);
});

Ou après la version ES6 :

homes.sort((a, b) => parseFloat(a.price) - parseFloat(b.price));

Certaines documentations peuvent être trouvées ici.

Pour trier par ordre décroissant, vous pouvez utiliser

homes.sort((a, b) => parseFloat(b.price) - parseFloat(a.price));
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!