У меня есть функция сортировки, которая работает с жестко закодированным массивом дат.Но когда я пытаюсь отсортировать массив дат, созданный моим запросом Firebase, я не могу отсортировать.
//THIS DOES NOT SORT
const dayRef = firebase.database().ref('Calendar/District/' + district + '/validDays/');
dayRef.once('value').then(function (snapshot) {
var value = snapshot.val();
if (value) {
snapshot.forEach(function (childSnapshot) {
var myDate = childSnapshot.val();
days.push(new Date(myDate.date)); //ARRAY DOES NOT SORT
});
}
});
// THIS SORTS MY HARD CODED ARRAY
var dates = [
new Date(2010, 5, 10),
new Date(2010, 2, 10),
new Date(2010, 3, 10),
new Date(2010, 8, 10),
new Date(2010, 1, 10),
new Date(2010, 6, 10),
new Date(2010, 11, 10),
new Date(2010, 8, 10)];
var date_sort_asc = function (date1, date2) {
if (date1 > date2) return 1;
if (date1 < date2) return -1;
return 0;
};
console.log(dates.sort(date_sort_asc)) // this sorts
console.log(days.sort(date_sort_asc)) // this does not sort
</script>
Мне нужно отсортировать массив дней в порядке возрастания