js, JavaScript-Array-Liste, Array-Objektlistensortierung, String-Sortierung

Die zu sortierenden Daten lauten wie folgt: 

1. Array-Sortierung

let arr = [9, 2, 4, 6, 3]
// 正序
console.log(arr.sort((a, b) => a - b))
// 倒序
console.log(arr.sort((a, b) => b - a))

2. Liste der Array-Objekte

let arr = [{ num: 9 }, { num: 2 }, { num: 4 }, { num: 6 }, { num: 1 }]
// 正序
console.log(arr.sort((a, b) => a.num - b.num))
// 倒序
console.log(arr.sort((a, b) => b.num - a.num))

3. Liste der Array-Objekte, regelmäßige Auswahl sortierter Zahlen

let dataList = [
     { a: '文本文本' },
     { a: '文档文本' },
     { a: '文本1文本' },
     { a: '文本4文本' },
     { a: '文本2文本' },
     { a: '文本6文本' },
     { a: '文本9文本' },
     { a: '文本94文本' },
     { a: '文本33文本' }
 ]

Idee: Füllen Sie 0 für diejenigen ohne Zahlen aus, verwenden Sie die Regularisierung, um die Nummer jeder Zeichenfolge zu ermitteln, fügen Sie jedem Element ein Feld hinzu und verwenden Sie die Zahl als Wert, übergeben Sie dann eine Funktion zum Vergleichen von Feldern an die Sortiermethode und löschen Sie schließlich die Feld.

Implementieren Sie die Zeichenfolgensortierung

let reg = /\d+/;
dataList.forEach(item => {
  if (reg.test(item.a)) {
    item.id = parseInt(reg.exec(item.a)[0])
    return;
  }
  item.id = 0;
})
dataList.sort((a, b) => a.id - b.id).forEach(item => Reflect.deleteProperty(item,'id'))
// 输出
console.log(dataList)

おすすめ

転載: blog.csdn.net/CSDN_33901573/article/details/126285993
おすすめ