انسخ رمز الكود كما يلي:
/*
* كائن MAP، تحقيق وظيفة MAP
*
* الواجهة:
* size() يحصل على عدد عناصر MAP
* تحدد isEmpty() ما إذا كانت الخريطة فارغة أم لا
* Clear () يحذف جميع عناصر MAP
* يضيف put(key, value) العناصر (key, value) إلى MAP
* إزالة (مفتاح) يحذف عنصر المفتاح المحدد، ويعيد صحيحًا إذا نجح، وخطأ إذا فشل.
* get(key) يحصل على قيمة العنصر VALUE للمفتاح المحدد، ويعيد NULL إذا فشل.
* العنصر (الفهرس) يحصل على العنصر في الفهرس المحدد (استخدم element.key، element.value للحصول على KEY وVALUE)، ويعيد NULL عند الفشل
* يحتوي على مفتاح (مفتاح) يحدد ما إذا كانت الخريطة تحتوي على عنصر المفتاح المحدد
* يحتوي على قيمة (قيمة) يحدد ما إذا كانت الخريطة تحتوي على عنصر القيمة المحددة
*values() احصل على المصفوفة (ARRAY) لكل VALUE في MAP
* تحصل المفاتيح () على المصفوفة (ARRAY) لجميع المفاتيح في MAP
*
* مثال:
* خريطة فار = خريطة جديدة ()؛
*
* Map.put("مفتاح"، "قيمة")؛
* فار فال = Map.get("مفتاح")
*…
*
*/
خريطة الوظيفة () {
this.elements = new Array();
// احصل على عدد عناصر MAP
هذا.الحجم = وظيفة () {
إرجاع this.elements.length;
};
// تحديد ما إذا كانت MAP فارغة
this.isEmpty = function() {
العودة (this.elements.length < 1);
};
// احذف جميع عناصر MAP
هذا.واضح = وظيفة () {
this.elements = new Array();
};
// أضف عناصر (مفتاح، قيمة) إلى MAP
this.put = function(_key, _value) {
هذه. العناصر.push( {
المفتاح: _مفتاح،
القيمة: _القيمة
});
};
// احذف عنصر المفتاح المحدد، وإرجاع صحيح إذا نجح، وخطأ إذا فشل
this.removeByKey = function(_key) {
varbln = false;
يحاول {
لـ (i = 0; i < this.elements.length; i++) {
إذا (this.elements[i].key == _key) {
this.elements.splice(i, 1);
عودة صحيحة؛
}
}
} قبض (ه) {
مليار = خطأ؛
}
returnbln;
};
// احذف عنصر القيمة المحددة، وإرجاع صحيح إذا نجح، وخطأ إذا فشل
this.removeByValue = function(_value) {//removeByValueAndKey
varbln = false;
يحاول {
لـ (i = 0; i < this.elements.length; i++) {
إذا (this.elements[i].value == _value) {
this.elements.splice(i, 1);
عودة صحيحة؛
}
}
} قبض (ه) {
مليار = خطأ؛
}
returnbln;
};
// احذف عنصر القيمة المحددة، وإرجاع صحيح إذا نجح، وخطأ إذا فشل
this.removeByValueAndKey = function(_key,_value) {
varbln = false;
يحاول {
لـ (i = 0; i < this.elements.length; i++) {
إذا (this.elements[i].value == _value && this.elements[i].key == _key) {
this.elements.splice(i, 1);
عودة صحيحة؛
}
}
} قبض (ه) {
مليار = خطأ؛
}
returnbln;
};
// احصل على قيمة العنصر VALUE للمفتاح المحدد، وأرجع NULL عند الفشل
this.get = وظيفة(_key) {
يحاول {
لـ (i = 0; i < this.elements.length; i++) {
إذا (this.elements[i].key == _key) {
إرجاع this.elements[i].value;
}
}
} قبض (ه) {
عودة كاذبة.
}
عودة كاذبة.
};
// احصل على العنصر في الفهرس المحدد (استخدم element.key، element.value للحصول على KEY وVALUE)، وقم بإرجاع NULL عند الفشل
هذا. العنصر = الوظيفة(_index) {
إذا (_index < 0 || _index >= this.elements.length) {
عودة فارغة؛
}
إرجاع this.elements[_index];
};
// تحديد ما إذا كانت الخريطة تحتوي على عنصر المفتاح المحدد
this.containsKey = function(_key) {
varbln = false;
يحاول {
لـ (i = 0; i < this.elements.length; i++) {
إذا (this.elements[i].key == _key) {
مليار = صحيح؛
}
}
} قبض (ه) {
مليار = خطأ؛
}
returnbln;
};
// تحديد ما إذا كانت الخريطة تحتوي على عنصر القيمة المحددة
this.containsValue = function(_value) {
varbln = false;
يحاول {
لـ (i = 0; i < this.elements.length; i++) {
إذا (this.elements[i].value == _value) {
مليار = صحيح؛
}
}
} قبض (ه) {
مليار = خطأ؛
}
returnbln;
};
// تحديد ما إذا كانت الخريطة تحتوي على عنصر القيمة المحددة
this.containsObj = function(_key,_value) {
varbln = false;
يحاول {
لـ (i = 0; i < this.elements.length; i++) {
إذا (this.elements[i].value == _value && this.elements[i].key == _key) {
مليار = صحيح؛
}
}
} قبض (ه) {
مليار = خطأ؛
}
returnbln;
};
// احصل على المصفوفة (ARRAY) لجميع القيمة في MAP
هذه القيم = الوظيفة () {
var arr = new Array();
لـ (i = 0; i < this.elements.length; i++) {
arr.push(this.elements[i].value);
}
العودة آر؛
};
// احصل على المصفوفة (ARRAY) لجميع القيمة في MAP
this.valuesByKey = function(_key) {
var arr = new Array();
لـ (i = 0; i < this.elements.length; i++) {
إذا (this.elements[i].key == _key) {
arr.push(this.elements[i].value);
}
}
العودة آر؛
};
// احصل على مصفوفة جميع المفاتيح في MAP (ARRAY)
هذه المفاتيح = الوظيفة () {
var arr = new Array();
لـ (i = 0; i < this.elements.length; i++) {
arr.push(this.elements[i].key);
}
العودة آر؛
};
// احصل على المفتاح من خلال القيمة
this.keysByValue = function(_value) {
var arr = new Array();
لـ (i = 0; i < this.elements.length; i++) {
إذا(_value == this.elements[i].value){
arr.push(this.elements[i].key);
}
}
العودة آر؛
};
// احصل على مصفوفة جميع المفاتيح في MAP (ARRAY)
this.keysRemoveDuplicate = function() {
var arr = new Array();
لـ (i = 0; i < this.elements.length; i++) {
علامة فار = صحيح؛
for(var j=0;j<arr.length;j++){
إذا(arr[j] == this.elements[i].key){
العلم = خطأ؛
استراحة؛
}
}
إذا (العلم) {
arr.push(this.elements[i].key);
}
}
العودة آر؛
};
}