js, lista de matrices de JavaScript, clasificación de listas de objetos de matrices, clasificación de cadenas

Los datos a ordenar son los siguientes: 

1. Clasificación de matrices

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

2. Lista de objetos de matriz

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. Lista de objetos de matriz, selección regular de números ordenados

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

Idea: complete 0 para aquellos sin números, use la regularización para encontrar el número de cada cadena, agregue un campo a cada elemento y use el número como valor, luego pase una función para comparar campos con el método de clasificación y finalmente elimine el campo.

Implementar clasificación de cadenas

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)

Supongo que te gusta

Origin blog.csdn.net/CSDN_33901573/article/details/126285993
Recomendado
Clasificación