Kann mir jemand die zweite Zeile erklären? Warum ohne dies wird es nicht funktionieren?Was bedeutet dieser Code? JavaScript
dataStuff.forEach(function (a) {
grouped[a.Tag] = grouped[a.Tag] || [];
grouped[a.Tag].push(a);
});
Kann mir jemand die zweite Zeile erklären? Warum ohne dies wird es nicht funktionieren?Was bedeutet dieser Code? JavaScript
dataStuff.forEach(function (a) {
grouped[a.Tag] = grouped[a.Tag] || [];
grouped[a.Tag].push(a);
});
dataStuff.forEach(function (a) {
grouped[a.Tag] = grouped[a.Tag] || []; //if grouped[a.Tag] array is undefined make it an array
grouped[a.Tag].push(a); //try to push into array.
});
Code erklären.
Die Linie
grouped[a.Tag].push(a);
sollte push
einen Wert in den Array grouped[a.Tag]
. Wenn das Array grouped[a.Tag]
überhaupt nicht definiert ist, erhalten Sie eine Fehlermeldung mit der Nummer grouped[a.Tag] is undefined
. Um dieses Problem zu überwinden, wird diese Linie
grouped[a.Tag] = grouped[a.Tag] || [];
verwendet.
Hier grouped[a.Tag] || []
wenn überhaupt grouped[a.Tag]
Ihre obige Zeile undefiniert wird
grouped[a.Tag] = [];
gleichwertig sein, dass ein neues Array erstellen.
Sonst, wenn grouped[a.Tag]
definiert ist, dann müssen Sie nichts tun, also ordnen Sie es sich selbst zu.
Also die Idee ist, wenn grouped[a.Tag]
ist undefiniert dann erstellen Sie ein neues Array sonst nichts tun, wie Sie gut sind zu gehen.
Versuchen Sie zu erklären, was 'gruppiert [a.Tag] .push (a);' zuerst tut. Ihre Antwort beruht auf Ihrem Verständnis dieser Linie. – zerkms
Was wird nicht korrekt funktionieren? Was ist die Eingabe und erwartete Ausgabe? Die Frage ist sehr unklar. – freakish