Estoy tratando de ordenar cada matriz en una matriz, sin embargo, cuando ordeno cada matriz anidada, las matrices no están ordenadas. Esto es lo que he estado haciendo hasta ahora:
let triplets = [ [ 1, -1, 0 ], [ 1, -1, 0 ], [ 1, 0, -1 ] ] let sortedArrays = triplets.sort((a, b) => a[0] - b[0] || a[1] - b[1]) console.log(sortedArrays) // [ [ 1, -1, 0 ], [ 1, -1, 0 ], [ 1, 0, -1 ] ] // Expect: [ [-1, 0, 1], [-1, 0, 1], [-1, 0, 1] ]Obviamente, no están ordenados. En la primera submatriz, 1 no viene antes de 1. ¿Por qué es este el caso y hay una mejor manera de clasificarlos?
Parece que no necesita ordenar los triplets , debe ordenar cada subarreglo , así que llame a .sort en los subarreglos, no en el arreglo externo.
let triplets = [ [ 1, -1, 0 ], [ 1, -1, 0 ], [ 1, 0, -1 ] ]; for (const subarr of triplets) { subarr.sort((a, b) => a - b); } console.log(triplets);