簡體   English   中英

使用數組 sort() 按 ReactJS 中的容量和名稱排序

[英]Sort by Capacity and Name in ReactJS using array sort()

我有一個問題。 如何先按容量排序數組項,然后按名稱的第一個字母排序? 主要思想是首先按容量從低到高或從高到低排序,然后如果兩個項目的容量相同,則這兩個項目按名稱的第一個字母排序。

這是我的基本代碼示例

myArray.sort((eventA, eventB) => {
      if (this.state.sort.highToLow.enabled) {
         return eventA.capacity > eventB.capacity ? -1 : 1;
     } else if (this.state.sort.lowToHigh.enabled) {
         return eventA.capacity > eventB.capacity ? 1 : -1;
     } else { return 0; }
     })

你可以使用 lodash sortBy 方法

_.sortBy(myArray, ['capacity', 'name']);

嘗試這樣的事情。 sort 方法,當容量相同時檢查名稱。

 const data = [ { name: "z", capacity: 2, }, { name: "b", capacity: 1, }, { name: "a", capacity: 1, }, ]; data.sort((a, b) => { if (a.capacity === b.capacity) { return a.name > b.name? 1: -1; } return a.capacity - b.capacity; }); console.log(data);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM