return im object

N

Netzwerkidi

Hallo,

ich bin durch Zufall auf die Seite von Douglas Crockford gestoßen. Er zeigt mir wieder, dass ich nichts weiß.

Wie setzt man denn im folgenden Beispiel die set-Funktion praktisch an, also wie sage ich: schreibe "A", "Wert von A" ins Array? Wie folgt jedenfalls nicht.

Code:
collection.set("A",'Wert von A');

Grüße
Idi

Code:
var collection = (function () {
    var keys = [], values = [];

    return {
        get: function (key) {
            var at = keys.indexOf(key);
            if (at >= 0) {
                return values[at];
            }
        },
        set: function (key, value) {
            var at = keys.indexOf(key);
            if (at < 0) {
                at = keys.length;
            }
            keys[at] = key;
            values[at] = value;
        },
        remove: function (key) {
            var at = keys.indexOf(key);
            if (at >= 0) {
                keys.splice(at, 1);
                values.splice(at, 1);
            }
        }
    };
}());
 
Hai rd4eva,
scheint, dass ich mal mit meiner Entwicklungsumgebung ein ernstes Wort reden muss, denn sie meinte immer, dass ein Objekt eine Methode nicht unterstützt...
Vielleicht muss ich mal upgraden.
Merci + bye
Idi
PS: Sehe gerade, der IE8.06 bringt auch diese Fehlermeldung mit der Nichtunterstützung in Zeile "var at = keys.indexOf(key);" Warum aber macht es JSFiddle im IE8?

Update:
Das ließ mir doch keine Ruhe.

Es sollte statt

Code:
var at = keys.indexOf(key);

richtigerweise

Code:
            var at = mykeys.join(' ').indexOf(key);

da, indexOf keine Array-Methode ist. Tz, da geht man bei einem "Papst" immer vom Besten aus, und dann so was...
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück