Puede alguien ayudarme. Puedo ordenar una matriz en orden ascendente o descendente, pero quiero poder ordenar la matriz por encima de un valor numérico.
Por ejemplo, si tengo una matriz:
a0 = new Array(8, 1, 3, 9, 0, 0, 0, 0); // Sort a0 to end up with; // 1, 3, 8, 9, 0, 0, 0, 0;He incluido un violín: plantilla básica
Solo puedo hacer que funcione, pero con los ceros al frente de la matriz ordenada
// 0, 0, 0, 0, 1, 3, 8, 9;Gracias.
Simplemente escriba una función de comparación personalizada para la función Array.prototype.sort que garantice que 0 se ordenará en último lugar:
const a0 = new Array(8, 1, 3, 9, 0, 0, 0, 0); a0.sort((a, b) => { if (a === 0) return 1; if (b === 0) return -1; return a - b; }); console.log(a0);Puede ordenar los ceros con una verificación de que no es cero y mover estos valores al final.
const array = [8, 1, 3, 9, 0, 0, 0, 0]; array.sort((a, b) => !a - !b || a - b); console.log(...array);