Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.javascript > #5165
| From | Wolfgang Wolf <w.wolf@dommel.de> |
|---|---|
| Newsgroups | de.comp.lang.javascript |
| Subject | Re: Semikolons aus Daten entfernen |
| Date | 2019-09-28 10:22 +0200 |
| Organization | albasani.net |
| Message-ID | <qmn58e$qck$1@news.albasani.net> (permalink) |
| References | <qmi19m$oas$1@news.albasani.net> <qmi834$m79$1@news.albasani.net> <1872806.oMNUckLgyt@PointedEars.de> |
Am 26.09.2019 um 18:00 schrieb Thomas 'PointedEars' Lahn:
> Ausser wenn der Wert von “data.length” sich ändern kann, solltest Du den
> Wert nur ein einziges Mal abfragen.
>
> for (var i = 0, len = data.length; i < len; i++) {
Das leuchtet ein und ist absolut sinnvoll, weil es nichts kostet.
Da wo es darauf ankommt, kann man so die letzte Millisekunde auch noch
einsparen. Auch ich verwende in manchen Programmteilen genau diese
Methodik. In der ersten Klasse lernt man es i.d.R. anders und das sind
so Dinge, bei denen man meistens bleibt. Sicherlich auch dadurch
bedingt, dass es oft keinen für den Anwender spürbaren Effekt hat. Schon
gar nicht hier in meinem Fall, wo es um einen Datenexport geht, bei dem
im Anschluss die csv zum Download angeboten wird.
> Rückwärts zu iterieren, wenn es auf die Reihenfolge nicht ankommt, ist in
> der Regel effizienter, weil der alte Wert der Iterationsvariablen nicht
> gespeichert werden muss:
Absolut d'accord!
> Wenn Du for..in-Schleifen verwendest, dann wird über alle aufzählbaren
> Eigenschaften des Objekts und seiner Prototypen iteriert. Das solltest Du
> vermeiden, denn Du weisst nie, welche Eigenschaften ein Objekt hat.
>
In diesem Fall schon. Die Daten kommen immer von der gleichen Funktion,
die diese aus einer Tabelle extrahiert. Das geht sogar soweit, dass ich
mir die String-Prüfeng auch noch sparen könnte. Habe das mal bei einer
größeren Datenmenge getestet uns es bringt gefühlt gar nichts, also habe
ich dieses Mindestmaß an Validierung drin gelassen.
> Über Array-Objekte wird modern so iteriert:
>
> data.forEach(callback);
>
Na ja, mit der Rückwärtsschleife haben wir die letzte ms raus geholt,
und nun verschenken wir sie vermutlich wieder. Vielleicht liege ich auch
falsch, aber ich kann mir nicht vorstellen, dass die Interpreter heute
in der Lage sind so was besser zu optimieren, wie eine handgemachte
Schleife - modern hin oder her.
Ehrlich, dieses Neumodische kotzt mich manchmal auch an. Hier werden
-zig neue Wege geschaffen, die letzten Endes zum gleichen Ergebnis
führen. Es gibt so ein altes Volkslied, bei dem sich immer die eine
Zeile wiederholt: "Aber schön muss sie sein..."
> Zusammenfassend:
>
> data.forEach(element => {
> Object.keys(element).forEach(function (key) {
> let value = this[key];
>
> if (typeof value === 'string')
> {
> this[key] = value.replace(/;/g, ',');
> }
> }, element);
> });
>
Und ist das jetzt schöner lesbar, als zwei ehrliche altmodische
Schleifen? Ist es schneller? Oder kompatibler? Moderner ja, aber sonst?
[...]
>
> "Draht;sw;0,5mm²;40°C...150°C"
>
> sind die Daten eindeutig. Bei
> "Draht,sw,0,5mm²,40°C...150°C"
> (das Ergebnis Deiner Ersetzung) ist das nicht mehr der Fall (ist das Komma
> dort ein Feldtrenner oder ist es ein Dezimalkomma?).
Damit, dass in der deutschen Sprache das Dezimaltrennzeichen das gleiche
ist wie das Nebensatztrennzeichen, damit muss unser Kulturraum leben,
was soll's... ;-)
Vielen Dank für deine (top) Anmerkungen und Ergänzungen.
Gruß
W. Wolf
Back to de.comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar
Semikolons aus Daten entfernen Wolfgang Wolf <w.wolf@dommel.de> - 2019-09-26 11:44 +0200
Re: Semikolons aus Daten entfernen Wolfgang Wolf <w.wolf@dommel.de> - 2019-09-26 13:40 +0200
Re: Semikolons aus Daten entfernen Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2019-09-26 18:00 +0200
Re: Semikolons aus Daten entfernen Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2019-09-26 18:09 +0200
Re: Semikolons aus Daten entfernen Wolfgang Wolf <w.wolf@dommel.de> - 2019-09-28 10:22 +0200
Re: Semikolons aus Daten entfernen Stefan Mayer <meniskus@gmx.net> - 2019-09-28 14:25 +0200
Re: Semikolons aus Daten entfernen Wolfgang Wolf <w.wolf@dommel.de> - 2019-10-07 15:59 +0200
Re: Semikolons aus Daten entfernen Stefan Mayer <meniskus@gmx.net> - 2019-10-08 00:42 +0200
Re: Semikolons aus Daten entfernen Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2019-09-28 17:41 +0200
Re: Semikolons aus Daten entfernen Wolfgang Wolf <w.wolf@dommel.de> - 2019-10-07 16:06 +0200
Re: Semikolons aus Daten entfernen Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2019-10-10 01:26 +0200
Re: Semikolons aus Daten entfernen Wolfgang Wolf <w.wolf@dommel.de> - 2019-11-12 16:58 +0100
Re: Semikolons aus Daten entfernen Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2019-11-13 01:04 +0100
Re: Semikolons aus Daten entfernen Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2019-11-14 19:27 +0100
Re: Semikolons aus Daten entfernen Wolfgang Wolf <w.wolf@dommel.de> - 2019-11-15 12:51 +0100
Re: Semikolons aus Daten entfernen Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2019-11-16 04:22 +0100
Re: Semikolons aus Daten entfernen Stefan Mayer <meniskus@gmx.net> - 2019-11-16 13:42 +0100
Re: Semikolons aus Daten entfernen Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2019-11-16 14:51 +0100
Re: Semikolons aus Daten entfernen Stefan Mayer <meniskus@gmx.net> - 2019-11-18 11:56 +0100
Re: Semikolons aus Daten entfernen Wolfgang Wolf <w.wolf@dommel.de> - 2019-11-18 13:50 +0100
Re: Semikolons aus Daten entfernen Stefan Mayer <meniskus@gmx.net> - 2019-11-18 15:43 +0100
Re: Semikolons aus Daten entfernen Wolfgang Wolf <w.wolf@dommel.de> - 2019-11-18 16:40 +0100
Re: Semikolons aus Daten entfernen Stefan Mayer <meniskus@gmx.net> - 2019-11-18 21:32 +0100
Re: Semikolons aus Daten entfernen Wolfgang Wolf <w.wolf@dommel.de> - 2019-11-19 07:49 +0100
Re: Semikolons aus Daten entfernen Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2019-11-19 00:03 +0100
Re: Semikolons aus Daten entfernen Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2019-11-19 18:48 +0100
Re: Semikolons aus Daten entfernen Stefan Mayer <meniskus@gmx.net> - 2019-11-19 19:42 +0100
Re: Semikolons aus Daten entfernen Stefan Mayer <meniskus@gmx.net> - 2019-11-20 20:31 +0100
Re: Semikolons aus Daten entfernen Wolfgang Wolf <w.wolf@dommel.de> - 2019-11-16 13:45 +0100
Re: Semikolons aus Daten entfernen Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2019-11-16 14:57 +0100
Re: Semikolons aus Daten entfernen Wolfgang Wolf <w.wolf@dommel.de> - 2019-11-18 10:08 +0100
Re: Semikolons aus Daten entfernen Wolfgang Wolf <w.wolf@dommel.de> - 2019-11-14 11:48 +0100
Re: Semikolons aus Daten entfernen Claus Reibenstein <4spamersonly@kabelmail.de> - 2019-09-26 14:44 +0200
Re: Semikolons aus Daten entfernen Wolfgang Wolf <w.wolf@dommel.de> - 2019-09-26 15:57 +0200
csiph-web