トラバーサル関数を備えたJSでマップを書きました。コメントしてください。
//map.js
array.prototype.remove = function(s){for(var i = 0; i <this.length; i ++){if(s == this [i])this.splice(i、1); }} /** * simple Map * * * var m = new Map(); * m.put( 'key'、 'value'); * ... * var s = ""; * m.each(function(key、value、index){ * s+= index+":"+key+"="+value+"/n"; *}); *アラート(s); * * @author dewitt * @date 2008-05-24 */function map(){/**キーを保存するための配列(トラバーサルに使用) */this.keys = new Array(); / **データを保存*/ this.data = new object(); / ** * key-valueペアを入れます * @param {string} key * @param {object} value */ this.put = function(key、value){if(this.data [key] == null){this.keys.push(key); } this.data [key] = value; }; / ** *キーに対応する値を取得 * @param {string} key * @return {object} value */ this.get = function(key){return this.data [key]; }; / *** key-valueペアを削除* @param {string} key*/ this.remove = function(key){this.keys.remove(key); this.data [key] = null; }; / ** *マップを通過して処理機能を実行する * * @param {function} callback function(key、value、index){..} */ this.each = function(fn){if(typeof fn!= 'function'){return; } var len = this.keys.length; for(var i = 0; i <len; i ++){var k = this.keys [i]; fn(k、this.data [k]、i); }}; / ***キーバリュー配列を取得します(JavaのEntrySet()に似ています)* @returnキーValueオブジェクト{key、value}*/ this.entrys = function(){var len = this.keys.length; var entrys = new Array(len); for(var i = 0; i <len; i ++){entrys [i] = {key:this.keys [i]、value:this.data [i]}; } return interrs; }; / ***マップが空であるかどうかを判断します*/ thisempty = function(){return this.keys.length == 0; }; / ***キー値のペアの数を取得*/ this.size = function(){return this.keys.length; }; / ** * 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+= "}"; s; }; }関数testmap(){var m = new Map(); m.put( 'key1'、 'comtop'); M.put( 'key2'、 'Southern Power Grid'); M.put( 'key3'、 'Jingxin Garden');アラート( "init:"+m); M.put( 'key1'、 'kantop'); alert( "set key1:"+m); M.Remove( "key2"); alert( "key2を削除:"+m); var s = ""; m.each(function(key、value、index){s+= index+":"+key+"="+value+"/n";});アラート(s); } //testmap.htm?<html> <head> <title>テストマップ</title> <スクリプト言語= "javascript" src = "src =" src = "src =" src = "> </script> </head> <body> <input type =" body> "button" value = "test" onclick = "testmap()"> </html> </html>上記の記事は、私があなたと共有するすべてのコンテンツであるシンプルなJavaScriptマップの例(共有)です。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。