6.1 KiB
6.1 KiB
id, title, challengeType, forumTopicId, localeTitle
id | title | challengeType | forumTopicId | localeTitle |
---|---|---|---|---|
8d5823c8c441eddfaeb5bdef | Create a Map Data Structure | 1 | 301629 | Создание структуры данных карты |
Description
Map
указанный здесь как обертка вокруг object
JavaScript. Создайте следующие методы и операции над объектом Map: -
add
принимает паруkey, value
для добавления на карту. -
remove
принимает ключ и удаляет связанную паруkey, value
-
get
принимаетkey
и возвращает сохраненноеvalue
-
has
принимаетkey
и возвращает истину , если ключ существует , или ложь , если она не делает. -
values
возвращают массив всех значений на карте -
size
возвращает количество элементов на карте -
clear
пустую карту
Instructions
Map
object provided here as a wrapper around a JavaScript object
. Create the following methods and operations on the Map object:
add
accepts akey, value
pair to add to the map.remove
accepts a key and removes the associatedkey, value
pairget
accepts akey
and returns the storedvalue
has
accepts akey
and returns true if the key exists or false if it doesn't.values
returns an array of all the values in the mapsize
returns the number of items in the mapclear
empties the map
Tests
tests:
- text: The Map data structure exists.
testString: assert((function() { var test = false; if (typeof Map !== 'undefined') { test = new Map() }; return (typeof test == 'object')})());
- text: 'The Map object has the following methods: add, remove, get, has, values, clear, and size.'
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')})());
- text: The add method adds items to the map.
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)})());
- text: The has method returns true for added items and false for absent items.
testString: assert((function() { var test = false; if (typeof Map !== 'undefined') { test = new Map() }; test.add('test','value'); return (test.has('test') && !test.has('false'))})());
- text: The get method accepts keys as input and returns the associated values.
testString: assert((function() { var test = false; if (typeof Map !== 'undefined') { test = new Map() }; test.add('abc','def'); return (test.get('abc') == 'def')})());
- text: The values method returns all the values stored in the map as strings in an array.
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)})());
- text: The clear method empties the map and the size method returns the number of items present in the map.
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)})());
Challenge Seed
var Map = function() {
this.collection = {};
// change code below this line
// change code above this line
};
Solution
// solution required