Wenn Sie einige Werte wie number behalten möchten 0 (Null) Sie verwenden könnten item !== undefined. Dadurch werden nur undefinierte Werte gefiltert. Denken Sie daran, Ihre Zeichenfolge zu kürzen oder mit Regex zu überprüfen, um sicherzustellen, dass leere Zeichenfolgen ohne Leerzeichen vorhanden sind.
Hat auch in Google Apps Script funktioniert.
– DavChana
8. Mai 2021 um 17:02 Uhr
Versuchen Sie, mit dem zu filtern Boolean Funktion:
columns.filter(Boolean)
Dadurch werden alle falschen Werte herausgefiltert
Es ist, weil, wenn Sie columns[0].splice(i, 1); Sie ändern dasselbe Array, über das Sie iterieren, sodass Sie möglicherweise einen Array-Filter wie verwenden möchten
columns[0] = columns[0].filter((val) => val != "");
Anstelle der for-Schleife
nach dem Erstellen des Spaltenarrays,
Filtern Sie die leeren Werte so
columns = columns.filter((v) => v != '')
Verwenden Sie einfach die Filterfunktion:-
columns = columns.filter(col => col);
Leere Werte werden entfernt.
Jack Bashford
Wenn einige Werte sein könnten 0filtern Sie, indem Sie gegen prüfen "" (Weil 0 wertet zu false auch, so dass boolesche Prüfungen fehlschlagen 0):
columns[0].filter(col => col != "");
Nehmen wir an, Sie haben in ES6 das folgende Array:
arr = [1, 2, 3, '', false, '4'];
Und Sie möchten entfernen '' (Was ein leerer Wert ist) aus dem Array. Du kannst tun:
Etwas Democode wäre nett. Verwenden Sie bitte jsfiddle oder so etwas. Da die Leerzeichen von vielen verschiedenen Dingen kommen können.
– Deckerz
15. April 2019 um 8:20 Uhr
direkt nach der for-Schleife add
columns = columns.filter(a => a!="")
– alt255
15. April 2019 um 8:20 Uhr
Mögliches Duplikat von Leere Elemente aus einem Array in Javascript entfernen
– jeprubio
15. April 2019 um 8:24 Uhr
Mögliches Duplikat von Entfernen Sie leere Zeichenfolgen aus dem Array, während Sie die Aufzeichnung ohne Schleife beibehalten?
– Adi
15. April 2019 um 8:57 Uhr