Tengo esta matriz:
var array1 = ['9/2022','7/2020','11/2021','12/2020','2/2020','4/2021','10/2021'];¿Cómo puedo obtener los años de ella en orden? Así que el resultado sería este:
result = ['2020','2021','2022'];¿Tengo que cambiar la matriz a un nuevo formato de fecha () y ordenar, o cuál sería la mejor manera? Cualquier sugerencia ?
Usando una combinación de ... , Set , .map() y .sort() . Esto se puede hacer en una línea.
... -> desestructura la matriz en elementos individuales.
new Set() -> crea un conjunto con los nuevos elementos.
map() -> ejecuta un bucle y asigna la matriz a una nueva.
split() -> divide una cadena en una matriz.
sort() -> ordena una matriz.
var array1 = ['9/2022','7/2020','11/2021','12/2020','2/2020','4/2021','10/2021']; console.log([...new Set(array1.map(x => x.split('/')[1]))].sort());Puede mapear para obtener solo los años y luego ordenar los resultados. Luego crea una instancia de un Conjunto que elimina todas las entradas duplicadas.
new Set(['9/2022','7/2020','11/2021','12/2020','2/2020','4/2021','10/2021'] .map(dateAsString => dateAsString.split('/')[1]) .sort());