Ich habe eine Karte in JS mit Traversalfunktion geschrieben, bitte kommentieren Sie.
//map.js
Array.Prototype.remove = Funktion (s) {für (var i = 0; i <this.Length; i ++) {if (s == this [i]) this.splice (i, 1); }} /** * einfache Karte * * * var m = new map (); * M.put ('Schlüssel', 'Wert'); * ... * var s = ""; * M.each (Funktion (Schlüssel, Wert, Index) { * s+= index+":"+key+"="+Wert+"/n"; *}); * Alarm (s); * * @Author DeWitt * @date 2008-05-24 */Funktion MAP () {/** Array zum Speichern der Schlüssel (für den Traversal verwendet) */this.keys = new Array (); / ** Daten speichern*/ this.data = new Object (); / ** * ein Schlüsselwertpaar eingeben * @param {String} Key * @param {Objekt} Wert */ this.put = function (Schlüssel, Wert) {if (this.data [key] == null) {this.keys.push (key); } this.data [Schlüssel] = Wert; }; / ** * Erhalten Sie den Wert, der einem Schlüssel entspricht }; / *** Löschen Sie ein Schlüsselwertpaar* @param {string} key*/ this.remove = function (key) {this.keys.remove (key); this.data [key] = null; }; / ** * Durchqueren der Karte und Ausführung der Verarbeitungsfunktion * * @param {Funktion} Rückruffunktion (Schlüssel, Wert, Index) {..} */ this.eaSew = Funktion (fn) {if (typeof fn! = 'Function') {return; } var len = this.keys.length; für (var i = 0; i <len; i ++) {var k = this.keys [i]; fn (k, this.data [k], i); }}; / *** Holen Sie sich ein Schlüsselwert-Array (ähnlich wie Javas Einstieg ())* @return-Array des Schlüsselwert-Objekts {Schlüssel, Wert}*/ this.Enrys = function () {var len = this.keys.Length; vareinträge = Neuarray (Len); für (var i = 0; i <len; i ++) {Einträge [i] = {Schlüssel: this.keys [i], Wert: this.data [i]}; } Rückgabeinträge; }; / *** Bestimmen Sie, ob die Karte leer ist }; / *** Erhalten Sie die Anzahl der Schlüsselwertpaare*/ this.size = function () {return this.keys.length; }; / ** * Schreiben Sie das ToString um */ this.toString = function () {var s = "{{"; für (var i = 0; i <this.keys.length; i ++, s+= ',') {var k = this.keys [i]; s+= k+"="+that.data [k]; } s+= "}"; Rückkehr s; }; } function testMap () {var m = new map (); M.put ('key1', 'comtop'); M.put ('Key2', 'Southern Power Grid'); M.put ('Key3', 'Jingxin Garden'); alert ("init:"+m); M.put ('Key1', 'Kantop'); alert ("set key1:"+m); M.Remove ("Key2"); alert ("entfernen key2:"+m); var s = ""; M.each (Funktion (Schlüssel, Wert, Index) {s+= index+":"+key+"="+value+"/n";}); Warnungen; } //testmap.htm?Der obige Artikel ist ein einfaches Beispiel für JavaScript -Karte (Freigabe), nämlich der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.