6.0 KiB
6.0 KiB
id | title | challengeType | videoUrl | localeTitle |
---|---|---|---|---|
8d5823c8c441eddfaeb5bdef | Create a Map Data Structure | 1 | Создание структуры данных карты |
Description
Map
указанный здесь как обертка вокруг object
JavaScript. Создайте следующие методы и операции над объектом Map: -
add
принимает паруkey, value
для добавления на карту. -
remove
принимает ключ и удаляет связанную паруkey, value
-
get
принимаетkey
и возвращает сохраненноеvalue
-
has
принимаетkey
и возвращает истину , если ключ существует , или ложь , если она не делает. -
values
возвращают массив всех значений на карте -
size
возвращает количество элементов на карте -
clear
пустую карту
Instructions
Tests
tests:
- text: Структура данных карты существует.
testString: 'assert((function() { var test = false; if (typeof Map !== "undefined") { test = new Map() }; return (typeof test == "object")})(), "The Map data structure exists.");'
- text: 'Объект Map имеет следующие методы: добавление, удаление, получение, наличие, значения, очистка и размер.'
testString: 'assert((function() { var test = false; if (typeof Map !== "undefined") { test = new Map() }; return (typeof test.add == "function" && typeof test.remove == "function" && typeof test.get == "function" && typeof test.has == "function" && typeof test.values == "function" && typeof test.clear == "function" && typeof test.size == "function")})(), "The Map object has the following methods: add, remove, get, has, values, clear, and size.");'
- text: Метод добавления добавляет элементы к карте.
testString: 'assert((function() { var test = false; if (typeof Map !== "undefined") { test = new Map() }; test.add(5,6); test.add(2,3); test.add(2,5); return (test.size() == 2)})(), "The add method adds items to the map.");'
- text: Метод has возвращает true для добавленных элементов и false для отсутствующих элементов.
testString: 'assert((function() { var test = false; if (typeof Map !== "undefined") { test = new Map() }; test.add("test","value"); return (test.has("test") && !test.has("false"))})(), "The has method returns true for added items and false for absent items.");'
- text: Метод get принимает ключи как входные данные и возвращает связанные значения.
testString: 'assert((function() { var test = false; if (typeof Map !== "undefined") { test = new Map() }; test.add("abc","def"); return (test.get("abc") == "def")})(), "The get method accepts keys as input and returns the associated values.");'
- text: 'Метод values возвращает все значения, хранящиеся на карте, в виде строк в массиве.'
testString: 'assert((function() { var test = false; if (typeof Map !== "undefined") { test = new Map() }; test.add("a","b"); test.add("c","d"); test.add("e","f"); var vals = test.values(); return (vals.indexOf("b") != -1 && vals.indexOf("d") != -1 && vals.indexOf("f") != -1)})(), "The values method returns all the values stored in the map as strings in an array.");'
- text: 'Метод clear очищает карту, а метод size возвращает количество элементов, присутствующих на карте.'
testString: 'assert((function() { var test = false; if (typeof Map !== "undefined") { test = new Map() }; test.add("b","b"); test.add("c","d"); test.remove("asdfas"); var init = test.size(); test.clear(); return (init == 2 && test.size() == 0)})(), "The clear method empties the map and the size method returns the number of items present in the map.");'
Challenge Seed
var Map = function() {
this.collection = {};
// change code below this line
// change code above this line
};
Solution
// solution required