亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用對象的屬性作為列表對象和值作為順序對列表進行排序?

如何使用對象的屬性作為列表對象和值作為順序對列表進行排序?

米琪卡哇伊 2022-07-08 15:52:21
我在這里問了同樣的問題 How to sort an ArrayList using a Map key as list object and value as order?但我需要 JavaScript 的等價物。我需要保持對象列表的順序,因為它可以在我的 web 應用程序中隨時更改和重新排序。在我的模型中,我有一個對象數組列表示例對象列表 = [對象 1,對象 2,對象 3,對象 4]我將屬于此實例的每個對象的順序保存到另一個對象示例中:命令{   "object1":4,   "object2":2,   "object3":1,   "object4":3}因此,我想根據對象 ID 作為鍵檢索的訂單對象屬性中的值對列表進行排序:預期結果:[對象 3,對象 2,對象 4,對象 1]在Java中這有效objectList.sort(Comparator.comparing(o -> yourMap.get(o.getId()));但是我不確定如何在 JavaScript 中實現同樣的排序編輯只是為了澄清,我不想對訂單對象進行排序。我想使用在 order 對象中維護的 order 對 objectList 進行排序
查看完整描述

2 回答

?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

這可以解決問題并通過使用對象 id 作為鍵來檢索訂單值。然后我們只是比較這些值進行排序


this.objectList.sort(function(a, b)

    {

      if(order[a._id] > order[b._id]) return 1;

      if(order[b._id] > order[a._id]) return -1;


      return 0;

    });


查看完整回答
反對 回復 2022-07-08
?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

對象鍵的順序永遠無法保證。您可以創建對象值的數組,Object.values然后使用sort它們


const data = {

  "object1": 4,

  "object2": 2,

  "object3": 1,

  "object4": 3

};

const sortedVal = Object.values(data).sort((a, b) => a - b);

console.log(sortedVal)


查看完整回答
反對 回復 2022-07-08
  • 2 回答
  • 0 關注
  • 135 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號