considere la siguiente matriz:
['state1035', 'dm5', 'state123', 'county247', 'county2']ordenar esta matriz en función de la salida del número debería ser:
['county2' ,'dm5', 'state123', 'county247', 'state1035']Asumiendo que las cadenas tendrán números juntos y al final puedes usar match para extraer el número y ordenarlo:
let arr = ['state1035', 'dm5', 'state123', 'county247', 'county2']; console.log(arr.sort((a,b) => a.match(/\d+$/).pop() - b.match(/\d+$/).pop())); El método de coincidencia utilizado dentro de la función de comparación devolverá la matriz de subcadenas coincidentes de la cadena dada. La expresión regular \d+ coincidirá con los números al final y estamos ordenando según estos números.
Utilice una expresión regular para hacer match solo los números de la cadena y luego sort las cadenas en función de esos números.
const data = ['state1035', 'dm5', 'bob0Bob', 'state123', 'county247', 'county2']; const regex = /\d+/; const result = data.sort((a, b) => { return a.match(regex) - b.match(regex); }); console.log(result);