Stefan B.: JavaScript: key "find" in leerem Array existiert

Beitrag lesen

Tachchen dedlfix,

Ja, das ist in der Tat so, aber praktisch spielt das kaum eine Rolle. [...]

Das Problem ist, dass ich nicht weiß, welche Keys ich zur Laufzeit in das Object einlesen werde; theoretisch könnte es also wie in dem (nicht konstruierten) Beispiel von 'find' möglich sein, auch eine dieser "technisch" benannten Properties zu treffen. So eine Map ist daher tatsächlich das einzig Sichere - auch wenn ich jetzt herausgefunden habe, dass man mit

var array = [];
if (!array.hasOwnProperty('key'))
    ...

herausfinden kann, ob ein Key selbst hinzugefügt wurde.

Nur wenn der Key des hinzuzufügenden Elements dann zufälligerweise 'length' heißt, gibt's das nächste Problem...

    array['length'] = { name: Name, value: 0 };
    array['length'].value++;

Bei Object gibt's zwar keine Property namens 'length', aber z.B. 'constructor'. - Das ist alles viel zu fehleranfällig... dann lieber doch gleich Maps. ;-)

VG Stefan