https://mysteryweevil.medium.com/mastering-array-sorting-in-javascript-a-comprehensive-guide-e0c84ad62bc3