Array.sort (). filter (...) mit Null in Javascript

7

Warum wird 0 vom folgenden Filter nicht zurückgegeben?

%Vor%     
benek 15.04.2014, 16:23
quelle

5 Antworten

14

0 wird als falscher Wert betrachtet.

Ihre Filterfunktion gibt im Wesentlichen false für 0 zurück und filtert sie aus dem Array.

Überprüfen Sie dieses für einen tieferen Blick.

    
Kyle 15.04.2014, 16:24
quelle
5

Filter ist auf einen Zustand zu prüfen. Sie geben den Wert selbst zurück, was keine korrekte Verwendung ist. Dafür sollte es

sein %Vor%

Wenn Sie Werte selbst übergeben, sind alle Nicht-Nullen-Zahlen gleich truthy und 0 gleich falsy und wird daher vom Filter ignoriert. Wenn Sie aus irgendeinem Grund trotzdem auf diesem Weg bleiben wollen, schließen Sie 0 in Anführungszeichen ein und das wird das Problem lösen.

%Vor%     
vivek_nk 15.04.2014 16:37
quelle
5
Die Funktion

.filter() schließt standardmäßig Falsy-Elemente aus der gefilterten Ausgabe aus.

%Vor%
  

Lösung:

Wenn Sie sie immer noch behalten möchten, denken Sie nur an diesen kurzen Tipp:

Geben Sie true zurück, um das Element beizubehalten, false andernfalls.

Beispiel:

%Vor%     
Malik Khalil 19.12.2016 17:05
quelle
2

Um 0 beizubehalten, aber dennoch Werte falsy herauszufiltern, versuchen Sie Folgendes:

%Vor%     
David Meza 03.08.2017 15:26
quelle
1

Versuchen Sie Folgendes:

%Vor%     
Emil Aleksandrov 17.09.2015 12:43
quelle

Tags und Links