[英]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.