對物件數組根據屬性值進行排序
P粉561749334
P粉561749334 2023-08-21 12:42:00
0
2
452

我使用AJAX取得了以下對象,並將它們儲存在一個陣列中:

var homes = [ { "h_id": "3", "city": "達拉斯", "state": "德州", "zip": "75201", "price": "162500" }, { "h_id": "4", "city": "貝弗利山莊", "state": "加州", "zip": "90210", "price": "319250" }, { "h_id": "5", "city": "紐約", "state": "紐約州", "zip": "00010", "price": "962500" } ];

我如何使用JavaScript建立函數,只使用price屬性按升序降序對物件排序?

P粉561749334
P粉561749334

全部回覆 (2)
P粉956441054

這是一個更靈活的版本,可讓您建立可重複使用的排序函數,並按任何欄位進行排序。

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

    依價格升序排序房屋:

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

    或在ES6版本之後:

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

    可以在這裡找到一些文件。

    要按降序排序,您可以使用

    homes.sort((a, b) => parseFloat(b.price) - parseFloat(a.price));
      最新下載
      更多>
      網站特效
      網站源碼
      網站素材
      前端模板
      關於我們 免責聲明 Sitemap
      PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!