js物件陣列按照多個字段進行排序

2022-01-21 22:08:50 字數 803 閱讀 6532

array.sort()方法可以傳入乙個函式作為引數,然後依據該函式的邏輯,進行陣列的排序。

一般用法:(陣列元素從小大進行排序)

var a = [9, 6, 5, 7, 11, 52, 15];

a.sort((a, b) => a-b)

//(7) [5, 6, 7, 9, 11, 15, 52]

sort()方法,接收了乙個函式作為引數時,排序主要根據傳入函式的返回值是否大於0進行排序。

1)當 a - b < 0  時, 則 a 元素排在 b 元素的前面。

2)當 a - b = 0 時, a , b 元素的位置不變。

3)當 a - b > 0 是, 則 a 元素排在 b 元素的後面。

以上是針對單純的整數陣列,但是需求往往肯定不會是這麼簡單。所以如果當陣列的元素為物件時,則可能需要根據物件的屬性進行排序,此時就會涉及到多條件排序。

如陣列中的元素是obj物件,此時需要根據, age、id、name三個維度對陣列進行排序。

需求如下:age小的排前面,其次 id 小的排前面,其次name小的排在前面

//先按age排序,age相同再按id排序,id相同則再按name排序

JS中物件陣列按照物件的某個屬性進行排序

js中的陣列中的物件排序很簡單,根據物件的屬性指定排序規則即可,如果出問題就仔細檢查一下中間資料 functon sortrule a,b 可以在原陣列排序函式的基礎上再套乙個函式來傳欄位引數,原排序函式作為這個函式的返回值返回 function sortby props arr1.sort sor...

Flex 對集合的多個字段進行排序

因為陣列可被多個sortfields 排序,sort 物件的fields 屬性就是乙個陣列。這些sort 建立一 個層級的結構,所有物件進行分組排序,先根據field 屬性裡的第乙個sortfield 物件,再第 乙個,以此類推。這個例子 先根據regions 再states 對集合進行排序 col...

js中對乙個物件陣列按照物件某個屬性進行排序

我們現在有一組 學生 物件,包含 名字,年齡,分數 等屬性,現在要求乙個演算法,把這些物件放在乙個陣列裡,可以實現按照年齡或者分數對這些物件進行排序。var sdts 那麼考點在哪呢,實際上在於陣列物件的sort方法 array.sort fun fun是乙個函式,排序根據這個函式返回值來進行判斷,...