I have this array:
var array1 = ['9/2022','7/2020','11/2021','12/2020','2/2020','4/2021','10/2021'];
How can I get the years from it in order? So the result would be this:
result = ['2020','2021','2022'];
Do I have to change the array to a new Date() format and sort, or how would be the best way ? Any Suggestion ?
Using a combination of ... , Set , .map() and .sort(). This can be done in one line.
... -> destructures array into individual items.
new Set() -> make a set out of the new items.
map() -> runs a loop and map the array into a new one.
split() -> breaks a string into array.
sort() -> sorts an array.
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());
You can map to get only the years, and then sort the results. Then you instantiate a Set which removes all duplicate entries.
new Set(['9/2022','7/2020','11/2021','12/2020','2/2020','4/2021','10/2021']
.map(dateAsString => dateAsString.split('/')[1])
.sort());