J'ai écrit une carte dans JS avec une fonction de traversée, veuillez commenter.
//map.js
Array.prototype.remove = fonction (s) {for (var i = 0; i <this.length; i ++) {if (s == this [i]) this.splice (i, 1); }} / ** * Map simple * * * var m = new Map (); * m.put («key», «valeur»); * ... * var s = ""; * M.Each (fonction (clé, valeur, index) {* s + = index + ":" + key + "=" + value + "/ n"; *}); * alerte (s); * * @Author Dewitt * @Date 2008-05-24 * / Fonction Map () {/ ** Array for Stocking the Keys (utilisé pour Traversal) * / this.keys = new Array (); / ** stocker les données * / this.data = new object (); / ** * Mettez une paire de valeurs de clé * @param {String} key * @param {object} value * / this.put = function (key, value) {if (this.data [key] == null) {this.keys.push (key); } this.data [key] = valeur; }; / ** * Obtenez la valeur correspondant à une clé * @param {string} key * @return {object} value * / this.get = function (key) {return this.data [key]; }; / ** * Supprimer une paire de valeurs clés * @param {string} key * / this.remove = function (key) {this.keys.remove (key); this.data [key] = null; }; / ** * Traverser la carte et exécuter la fonction de traitement * * @param {fonction} fonction de fonction de rappel (clé, valeur, index) {..} * / this.each = function (fn) {if (typeof fn! = 'Function') {return; } var len = this.keys.length; pour (var i = 0; i <len; i ++) {var k = this.keys [i]; fn (k, this.data [k], i); }}; / ** * Obtenez un tableau de valeurs de clé (similaire à l'entrée de Java ()) * @return Array of Key-Value Object {key, value} * / this.entrys = function () {var len = this.keys.length; var entrées = nouveau tableau (len); pour (var i = 0; i <len; i ++) {entrées [i] = {key: this.keys [i], valeur: this.data [i]}; } retourne les entrées; }; / ** * Déterminez si la carte est vide * / this.isempty = function () {return this.keys.length == 0; }; / ** * Obtenez le nombre de paires de valeurs clés * / this.size = function () {return this.keys.length; }; / ** * Réécrivez ToString * / this.toString = function () {var s = "{"; for (var i = 0; i <this.keys.length; i ++, s + = ',') {var k = this.keys [i]; s + = k + "=" + this.data [k]; } s + = "}"; retour s; }; } fonction testmap () {var m = new Map (); M.put ('key1', 'comtop'); m.put ('key2', 'Southern Power Grid'); m.put («key3», «jingxin jardin»); alert ("init:" + m); m.put ('key1', 'kantop'); alert ("set key1:" + m); M.Remove ("Key2"); alert ("Supprimer Key2:" + m); var s = ""; M.Each (fonction (clé, valeur, index) {s + = index + ":" + key + "=" + value + "/ n";}); alerte (s); } //testmap.htm? <html> <adread> <ittle> Map de test </title> <script linguisse = "javascript" src = "map.js"> </ script> </ head> <body> <input type = "Button" value = "test" onclick = "testmap ()"> </ body> </html>L'article ci-dessus est un exemple de carte JavaScript simple (partage) qui est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.