• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Niedziałająca funkcja array.sort()

Mały hosting, OGROMNE możliwości
0 głosów
532 wizyt
pytanie zadane 4 lutego 2022 w JavaScript przez Piotr Kułakowski Początkujący (390 p.)
otwarte ponownie 4 lutego 2022 przez Piotr Kułakowski

Cześć wszystkim,
piszę pewną stronkę z backendem w nodejs i mam pewien problem. Otóż w poniższym kawałku kodu funkcja sort() zachowuje się tak jakby w ogóle nie działała. Nie ważne jak zmienię mój warunek zawsze dostaję wynik dokładnie taki sam jak przed sortowaniem.

import { NextFunction, Request, Response } from 'express';
import * as fs from 'fs';

export const insertXMLEstates = (req: Request, res: Response, next: NextFunction) => {
  try {
    const files = fs.readdirSync('./public/zip/');

    const sendingDatesFiles = files.map((file) => {
      const parsedFile = file.split('_');
      const sendDate = parsedFile[1].split('.');
      const dateArray = sendDate.map((num) => (num != 'zip' ? parseInt(num) : 0));

      return {
        name: file,
        dateTime: Date.parse(`${dateArray[2]}-${dateArray[1]}-${dateArray[0]}`)
      };
    });
    const sortedSendingDatesFiles = sendingDatesFiles.sort((a, b) => {
      return a.dateTime > b.dateTime ? 0 : 1;
    });
    console.log(sortedSendingDatesFiles);
  } catch (e) {
    throw e;
  }
};

Jeśli ktoś z was wie jak mi pomóc, to prosił bym o odpowiedź.

Z góry dziękuję i pozdrawiam
Piotr Kułakowski

1 odpowiedź

+2 głosów
odpowiedź 4 lutego 2022 przez adrian17 Mentor (354,880 p.)
wybrane 4 lutego 2022 przez Piotr Kułakowski
 
Najlepsza
Na oko to masz źle zdefiniowaną funkcję porównującą. Spójrz jak powinna wyglądać:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#description

Btw, wyniku `.sort()` nie musisz przypisywać do nowej zmiennej, bo on sortuje in-place.
komentarz 4 lutego 2022 przez Piotr Kułakowski Początkujący (390 p.)
Dziękuję. Już poprawiłem i działa

Podobne pytania

0 głosów
2 odpowiedzi 433 wizyt
pytanie zadane 21 stycznia 2018 w JavaScript przez Yashe Dyskutant (7,720 p.)
0 głosów
2 odpowiedzi 1,273 wizyt
pytanie zadane 5 grudnia 2017 w C i C++ przez MercinQ Początkujący (370 p.)
0 głosów
1 odpowiedź 647 wizyt
pytanie zadane 14 marca 2022 w PHP przez AnimaVillis Stary wyjadacz (13,670 p.)

93,717 zapytań

142,629 odpowiedzi

323,261 komentarzy

63,262 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...