Hallo allerseits,
angenommen ich wollte bei folgendem Objekt
var myobj = {‚x‘: 1, ‚y‘: 2, z: ‚3‘}
erreichen, dass in einer „for a in myobj“-Schleife z. B. das „z“-Property ignoriert wird. Wie würde ich das denn hinkriegen, ohne das in jeder „for/in“-Schleife explizit abfragen zu müssen (also sinngemäß irgendwie das Property-Flag ‚DontEnum‘ von ‚z‘ per Laufzeit auf true setzen)
Danke und Gruß
Natascha
PS: Ist nur 'n Beispiel, eigentlich geht’s darum, dass ich den Object-Prototypen zu erweitern will und trotzdem noch Hashtabels durch Objekte simulieren will, ohne ständig „hasOwnProperty“ verwenden zu müssen …
Hi,
Wie würde ich das denn
hinkriegen, ohne das in jeder „for/in“-Schleife explizit
abfragen zu müssen
was unterscheidet ‚z‘ von allen anderen Properties?
Cheatah
… dass es nicht in der „for/in“-Schleife verwendet werden soll.
Vielleicht wird hier das Problem klarer:
Object.prototype.supertolleObjectErweiterung = function() {/* … */}
var assocArr = {‚x1‘: 1, ‚x2‘: 2}
for (x in assocArr)
{
// Die naechste Zeile hier wuerde ich gerne immer vermeiden
if (!assocArr.hasOwnProperty(x)) continue;
alert(x);
}
Thanks
Natascha
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hi,
was unterscheidet ‚z‘ von allen anderen Properties?
… dass es nicht in der „for/in“-Schleife verwendet werden
soll.
hm. Du musst zugeben, dass dies kaum eine Basis für einen generischen Automatismus ist 
Vielleicht wird hier das Problem klarer:
Leider nicht wirklich. Du verdeutlichst noch einmal Dein Vorhaben, welches mir bereits klar war, aber nicht unbedingt, wo dabei Dein Problem liegt (bzw. warum es ein Problem ist).
// Die naechste Zeile hier wuerde ich gerne immer vermeiden
Warum eigentlich? Sie ist recht effizient.
Cheatah