TS: for ... in versa klassischer For-Schleife

Beitrag lesen

Hello,

das hatte soweit vermutlich auch schon alles richtig geklappt.
Ich scheitere aber an der Abgrage (Iteration) der Collection.

var selections = formElement.querySelectorAll('input[type="radio"]');
for(var e in selections)
{
   document.querySelector('#divoutput') += '<p>' + e + ': ' + selections[e].name + ' (' + selections[e].dataset.author + ') => ' + selections[e].value +'; ' + selections[e].checked + '<\p>';
}

Inzwischen weiß ich, dass die for ... in-Schleife über die Properties item und length stolpert, je nachdem, in welcher Reihenfolge die sie Collection-Members vorfindet. Was ist überhaupt ìtem?

Ich habe das "repariert", indem ich die Ausgabe in eine Bedingung if (e != 'item' && e != 'length') eingepackt habe, was ja aber kaum DIE Lösung sein kann.

Mache ich das Iterieren klassisch mit for (var i = 0; i < selections.length; i++) durchführe, ist dieser Fehler noch nie aufgetreten. Ist das obligatorisch, dass length und item immer am Ende der Indexaufzählung stehen, also zuerst die Number-Indexe kommen? Die sind ja auch vom Typ String...

Liebe Grüße
Tom S.

--
Es gibt nichts Gutes, außer man tut es
Andersdenkende waren noch nie beliebt, aber meistens diejenigen, die die Freiheit vorangebracht haben.