Скопируйте код кода следующим образом:
/*
* Объект MAP, реализующий функцию MAP.
*
* Интерфейс:
* size() получает количество элементов MAP
* isEmpty() определяет, пуста ли MAP
*clear() удаляет все элементы MAP
* put(key, value) добавляет элементы (ключ, значение) в MAP
* Remove(key) удаляет элемент указанного 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.
*values() Получить массив (массив) всех значений VALUE в MAP.
*keys() получает массив (МАССИВ) всех KEY в MAP
*
* пример:
* вар карта = новая карта();
*
* map.put("ключ", "значение");
* var val = map.get("ключ")
*…
*
*/
функция Карта() {
this.elements = новый массив();
//Получаем количество элементов MAP
this.size = функция() {
вернуть this.elements.length;
};
//Определяем, пуста ли MAP
this.isEmpty = функция() {
return (this.elements.length <1);
};
//Удаляем все элементы MAP
this.clear = функция() {
this.elements = новый массив();
};
//Добавляем элементы (ключ, значение) в MAP
this.put = function(_key, _value) {
this.elements.push( {
ключ: _ключ,
значение: _value
});
};
//Удаляем элемент указанного KEY, возвращаем True в случае успеха, False в случае неудачи
this.removeByKey = функция (_key) {
варблн = ложь;
пытаться {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
this.elements.splice(i, 1);
вернуть истину;
}
}
} поймать (е) {
блн = ложь;
}
возврат млрд;
};
//Удаляем элемент указанного ЗНАЧЕНИЯ, возвращаем True в случае успеха, False в случае неудачи
this.removeByValue = function(_value) {//removeByValueAndKey
варблн = ложь;
пытаться {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].value == _value) {
this.elements.splice(i, 1);
вернуть истину;
}
}
} поймать (е) {
блн = ложь;
}
возврат млрд;
};
//Удаляем элемент указанного ЗНАЧЕНИЯ, возвращаем True в случае успеха, False в случае неудачи
this.removeByValueAndKey = function(_key,_value) {
варблн = ложь;
пытаться {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].value == _value && this.elements[i].key == _key) {
this.elements.splice(i, 1);
вернуть истину;
}
}
} поймать (е) {
блн = ложь;
}
возврат млрд;
};
//Получаем значение элемента VALUE указанного KEY и возвращаем NULL в случае ошибки
this.get = функция(_key) {
пытаться {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
вернуть this.elements[i].value;
}
}
} поймать (е) {
вернуть ложь;
}
вернуть ложь;
};
//Получаем элемент по указанному индексу (используйте element.key, element.value для получения KEY и VALUE), возвращаем NULL в случае ошибки
this.element = функция(_index) {
if (_index < 0 || _index >= this.elements.length) {
вернуть ноль;
}
вернуть this.elements[_index];
};
//Определяем, содержит ли MAP элемент указанного KEY
this.containsKey = функция (_key) {
варблн = ложь;
пытаться {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
миллиард = правда;
}
}
} поймать (е) {
блн = ложь;
}
возврат млрд;
};
//Определяем, содержит ли MAP элемент указанного VALUE
this.containsValue = функция (_value) {
варблн = ложь;
пытаться {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].value == _value) {
миллиард = правда;
}
}
} поймать (е) {
блн = ложь;
}
возврат млрд;
};
//Определяем, содержит ли MAP элемент указанного VALUE
this.containsObj = function(_key,_value) {
варблн = ложь;
пытаться {
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].value == _value && this.elements[i].key == _key) {
миллиард = правда;
}
}
} поймать (е) {
блн = ложь;
}
возврат млрд;
};
//Получаем массив (ARRAY) всех VALUE в MAP
this.values = функция() {
вар обр = новый массив ();
for (i = 0; i < this.elements.length; i++) {
arr.push(this.elements[i].value);
}
возврат обр;
};
//Получаем массив (ARRAY) всех VALUE в MAP
this.valuesByKey = функция (_key) {
вар обр = новый массив ();
for (i = 0; i < this.elements.length; i++) {
if (this.elements[i].key == _key) {
arr.push(this.elements[i].value);
}
}
возврат обр;
};
//Получаем массив всех KEY в MAP (ARRAY)
this.keys = функция() {
вар обр = новый массив ();
for (i = 0; i < this.elements.length; i++) {
arr.push(this.elements[i].key);
}
возврат обр;
};
//Получаем ключ через значение
this.keysByValue = функция (_value) {
вар обр = новый массив ();
for (i = 0; i < this.elements.length; i++) {
if(_value == this.elements[i].value){
arr.push(this.elements[i].key);
}
}
возврат обр;
};
//Получаем массив всех KEY в MAP (ARRAY)
this.keysRemoveDudicate = function() {
вар обр = новый массив ();
for (i = 0; i < this.elements.length; i++) {
вар флаг = правда;
for(var j=0;j<arr.length;j++){
if(arr[j] == this.elements[i].key){
флаг = ложь;
перерыв;
}
}
если (флаг) {
arr.push(this.elements[i].key);
}
}
возврат обр;
};
}