ฉันเขียนแผนที่ใน JS ด้วยฟังก์ชั่น Traversal โปรดแสดงความคิดเห็น
//map.js
array.prototype.remove = function (s) {สำหรับ (var i = 0; i <this.length; i ++) {ถ้า (s == this [i]) this.splice (i, 1); }} /** * แผนที่ง่าย ๆ * * * var m = แผนที่ใหม่ (); * m.put ('คีย์', 'ค่า'); * ... * var s = ""; * m.each (ฟังก์ชัน (คีย์, ค่า, ดัชนี) { * s+= index+":"+key+"="+value+"/n"; *}); * แจ้งเตือน; * * @author dewitt * @date 2008-05-24 */ฟังก์ชันแผนที่ () {/** อาร์เรย์สำหรับการจัดเก็บคีย์ (ใช้สำหรับ Traversal) */this.keys = new Array (); / ** จัดเก็บข้อมูล*/ this.data = New Object (); / ** * ใส่คู่คีย์-ค่า * @param {สตริง} คีย์ * @param {object} value */ this.put = function (คีย์, ค่า) {ถ้า (this.data [key] == null) {this.keys.push (คีย์); } this.data [key] = value; - / ** * รับค่าที่สอดคล้องกับคีย์ * @param {String} คีย์ * @return {Object} value */ this.get = function (คีย์) {return this.data [key]; - / *** ลบคู่คีย์-ค่า* @param {สตริง} คีย์*/ this.remove = ฟังก์ชั่น (คีย์) {this.keys.remove (คีย์); this.data [key] = null; - / ** * ข้ามแผนที่และดำเนินการฟังก์ชันการประมวลผล * * @param {ฟังก์ชั่นฟังก์ชันการเรียกกลับ (คีย์, ค่า, ดัชนี) {.. } */ this.each = ฟังก์ชั่น (fn) {ถ้า (typeof fn! = 'function') {return; } var len = this.keys.length; สำหรับ (var i = 0; i <len; i ++) {var k = this.keys [i]; fn (k, this.data [k], i); - / *** รับอาร์เรย์คีย์-ค่า (คล้ายกับ entrySet ของ java ())* @return อาร์เรย์ของวัตถุคีย์-ค่า {คีย์, ค่า}*/ this.entrys = function () {var len = this.keys.length; รายการ var = อาร์เรย์ใหม่ (len); สำหรับ (var i = 0; i <len; i ++) {รายการ [i] = {key: this.keys [i], value: this.data [i]}; } return entrys; - / *** พิจารณาว่าแผนที่ว่างเปล่า*/ this.isEmpty = function () {return this.keys.length == 0; - / *** รับจำนวนคู่คีย์-ค่า*/ this.size = function () {return this.keys.length; - / ** * เขียน toString */ this.toString = function () {var s = "{"; สำหรับ (var i = 0; i <this.keys.length; i ++, s+= ',') {var k = this.keys [i]; s+= k+"="+this.data [k]; } s+= "}"; กลับ s; - } function testmap () {var m = แผนที่ใหม่ (); m.put ('key1', 'comtop'); M.PUT ('Key2', 'Southern Power Grid'); m.put ('key3', 'Jingxin Garden'); การแจ้งเตือน ("init:"+m); m.put ('key1', 'kantop'); การแจ้งเตือน ("Set Key1:"+M); M.Remove ("Key2"); การแจ้งเตือน ("ลบ key2:"+m); var s = ""; m.each (ฟังก์ชัน (คีย์, ค่า, ดัชนี) {s+= index+":"+key+"="+value+"/n";}); การแจ้งเตือน; } //testmap.htm? <html> <head> <title> แผนที่ทดสอบ </title> <script language = "javascript" src = "map.js"> </script> </head> <body> <อินพุตประเภท = "ปุ่ม" test "onclick =" testmap () "บทความข้างต้นเป็นตัวอย่างแผนที่ JavaScript อย่างง่าย (การแชร์) ซึ่งเป็นเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น