คัดลอกรหัสรหัสดังต่อไปนี้:
-
* วัตถุ MAP ตระหนักถึงฟังก์ชัน MAP
-
* อินเทอร์เฟซ:
* size() รับจำนวนองค์ประกอบ MAP
* isEmpty() กำหนดว่า MAP ว่างเปล่าหรือไม่
* clear() ลบองค์ประกอบทั้งหมดของ MAP
* put(key, value) เพิ่มองค์ประกอบ (key, value) ให้กับ MAP
* ลบ(คีย์) ลบองค์ประกอบของ KEY ที่ระบุ ส่งคืน True หากสำเร็จ และคืนค่า False หากล้มเหลว
* get(key) รับค่าองค์ประกอบ VALUE ของ KEY ที่ระบุ และส่งคืนค่า NULL หากล้มเหลว
* element(index) รับองค์ประกอบที่ดัชนีที่ระบุ (ใช้ element.key, element.value เพื่อรับ KEY และ VALUE) คืนค่า NULL เมื่อเกิดความล้มเหลว
* containsKey(key) กำหนดว่า MAP มีองค์ประกอบของ KEY ที่ระบุหรือไม่
* containsValue(value) กำหนดว่า MAP มีองค์ประกอบของ VALUE ที่ระบุหรือไม่
* ค่า () รับอาร์เรย์ (ARRAY) ของ VALUE ทั้งหมดใน MAP
* Keys() รับอาร์เรย์ (ARRAY) ของ KEY ทั้งหมดใน MAP
-
* ตัวอย่าง:
* var map = แผนที่ใหม่ ();
-
* map.put("คีย์", "ค่า");
* var val = map.get("กุญแจ")
-
-
-
ฟังก์ชั่นแผนที่ () {
this.elements = อาร์เรย์ใหม่ ();
// รับจำนวนองค์ประกอบ MAP
นี้.ขนาด = ฟังก์ชั่น() {
กลับ this.elements.length;
-
//ตรวจสอบว่า MAP ว่างเปล่าหรือไม่
this.isEmpty = ฟังก์ชั่น () {
กลับ (this.elements.length < 1);
-
//ลบองค์ประกอบทั้งหมดของ MAP
นี้.ชัดเจน = ฟังก์ชั่น() {
this.elements = อาร์เรย์ใหม่ ();
-
//เพิ่มองค์ประกอบ (คีย์, ค่า) ลงใน MAP
this.put = ฟังก์ชั่น (_key, _value) {
this.elements.push( {
คีย์: _คีย์,
ค่า: _ค่า
-
-
//ลบองค์ประกอบของ KEY ที่ระบุ คืนค่า True หากสำเร็จ คืนค่า False หากล้มเหลว
this.removeByKey = ฟังก์ชั่น (_key) {
varbln = เท็จ;
พยายาม {
สำหรับ (i = 0; i < this.elements.length; i++) {
ถ้า (this.elements[i].key == _key) {
นี้.องค์ประกอบ.splice(i, 1);
กลับเป็นจริง;
-
-
} จับ (e) {
bln = เท็จ;
-
กลับ;
-
//ลบองค์ประกอบของ VALUE ที่ระบุ คืนค่า True หากสำเร็จ คืนค่า False หากล้มเหลว
this.removeByValue = ฟังก์ชั่น (_value) {//removeByValueAndKey
varbln = เท็จ;
พยายาม {
สำหรับ (i = 0; i < this.elements.length; i++) {
ถ้า (this.elements[i].value == _value) {
นี้.องค์ประกอบ.splice(i, 1);
กลับเป็นจริง;
-
-
} จับ (e) {
bln = เท็จ;
-
กลับ;
-
//ลบองค์ประกอบของ VALUE ที่ระบุ คืนค่า True หากสำเร็จ คืนค่า False หากล้มเหลว
this.removeByValueAndKey = ฟังก์ชั่น (_key,_value) {
varbln = เท็จ;
พยายาม {
สำหรับ (i = 0; i < this.elements.length; i++) {
ถ้า (this.elements[i].value == _value && this.elements[i].key == _key) {
นี้.องค์ประกอบ.splice(i, 1);
กลับเป็นจริง;
-
-
} จับ (e) {
bln = เท็จ;
-
กลับ;
-
//รับค่าองค์ประกอบ VALUE ของ KEY ที่ระบุ และส่งคืนค่า NULL เมื่อล้มเหลว
this.get = ฟังก์ชั่น (_key) {
พยายาม {
สำหรับ (i = 0; i < this.elements.length; i++) {
ถ้า (this.elements[i].key == _key) {
กลับ this.elements[i].value;
-
-
} จับ (e) {
กลับเท็จ;
-
กลับเท็จ;
-
// รับองค์ประกอบที่ดัชนีที่ระบุ (ใช้ element.key, element.value เพื่อรับ KEY และ VALUE) คืนค่า NULL เมื่อล้มเหลว
นี้.องค์ประกอบ = ฟังก์ชั่น(_index) {
ถ้า (_index < 0 || _index >= this.elements.length) {
กลับเป็นโมฆะ;
-
กลับ this.elements[_index];
-
//ตรวจสอบว่า MAP มีองค์ประกอบของ KEY ที่ระบุหรือไม่
this.containsKey = ฟังก์ชั่น (_key) {
varbln = เท็จ;
พยายาม {
สำหรับ (i = 0; i < this.elements.length; i++) {
ถ้า (this.elements[i].key == _key) {
bln = จริง;
-
-
} จับ (e) {
bln = เท็จ;
-
กลับ;
-
//ตรวจสอบว่า MAP มีองค์ประกอบของ VALUE ที่ระบุหรือไม่
this.containsValue = ฟังก์ชั่น (_value) {
varbln = เท็จ;
พยายาม {
สำหรับ (i = 0; i < this.elements.length; i++) {
ถ้า (this.elements[i].value == _value) {
bln = จริง;
-
-
} จับ (e) {
bln = เท็จ;
-
กลับ;
-
//ตรวจสอบว่า MAP มีองค์ประกอบของ VALUE ที่ระบุหรือไม่
this.containsObj = ฟังก์ชั่น (_key,_value) {
varbln = เท็จ;
พยายาม {
สำหรับ (i = 0; i < this.elements.length; i++) {
ถ้า (this.elements[i].value == _value && this.elements[i].key == _key) {
bln = จริง;
-
-
} จับ (e) {
bln = เท็จ;
-
กลับ;
-
//รับอาร์เรย์ (ARRAY) ของ VALUE ทั้งหมดใน MAP
this.values = ฟังก์ชั่น () {
var arr = อาร์เรย์ใหม่ ();
สำหรับ (i = 0; i < this.elements.length; i++) {
arr.push(this.elements[i].value);
-
กลับถึง;
-
//รับอาร์เรย์ (ARRAY) ของ VALUE ทั้งหมดใน MAP
this.valuesByKey = ฟังก์ชั่น (_key) {
var arr = อาร์เรย์ใหม่ ();
สำหรับ (i = 0; i < this.elements.length; i++) {
ถ้า (this.elements[i].key == _key) {
arr.push(this.elements[i].value);
-
-
กลับถึง;
-
// รับอาร์เรย์ของคีย์ทั้งหมดใน MAP (ARRAY)
นี้.keys = ฟังก์ชั่น() {
var arr = อาร์เรย์ใหม่ ();
สำหรับ (i = 0; i < this.elements.length; i++) {
arr.push(this.elements[i].key);
-
กลับถึง;
-
//รับคีย์ผ่านค่า
this.keysByValue = ฟังก์ชั่น (_value) {
var arr = อาร์เรย์ใหม่ ();
สำหรับ (i = 0; i < this.elements.length; i++) {
ถ้า(_value == this.elements[i].value){
arr.push(this.elements[i].key);
-
-
กลับถึง;
-
// รับอาร์เรย์ของคีย์ทั้งหมดใน MAP (ARRAY)
this.keysRemoveDuplicate = ฟังก์ชั่น () {
var arr = อาร์เรย์ใหม่ ();
สำหรับ (i = 0; i < this.elements.length; i++) {
แฟล็ก var = จริง;
สำหรับ(var j=0;j<arr.length;j++){
ถ้า (arr [j] == this.elements [i] .key) {
ธง = เท็จ;
หยุดพัก;
-
-
ถ้า (ตั้งค่าสถานะ) {
arr.push(this.elements[i].key);
-
-
กลับถึง;
-
-