|
14 | 14 |
|
15 | 15 | Методы и свойства: |
16 | 16 |
|
17 | | -- `new Map()` -- создаёт коллекцию. |
18 | | -- [`map.set(key, value)`](mdn:js/Map/set) -- записывает по ключу `key` значение `value`. |
19 | | -- [`map.get(key)`](mdn:js/Map/get) -- возвращает значение по ключу или `undefined`, если ключ `key` отсутствует. |
20 | | -- [`map.has(key)`](mdn:js/Map/has) -- возвращает `true`, если ключ `key` присутствует в коллекции, иначе `false`. |
21 | | -- [`map.delete(key)`](mdn:js/Map/delete) -- удаляет элемент по ключу `key`. |
22 | | -- [`map.clear()`](mdn:js/Map/clear) -- очищает коллекцию от всех элементов. |
23 | | -- [`map.size`](mdn:js/Map/size) -- возвращает текущее количество элементов. |
| 17 | +- [`new Map()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/Map) -- создаёт коллекцию. |
| 18 | +- [`map.set(key, value)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/set) -- записывает по ключу `key` значение `value`. |
| 19 | +- [`map.get(key)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/get) -- возвращает значение по ключу или `undefined`, если ключ `key` отсутствует. |
| 20 | +- [`map.has(key)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/has) -- возвращает `true`, если ключ `key` присутствует в коллекции, иначе `false`. |
| 21 | +- [`map.delete(key)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/delete) -- удаляет элемент по ключу `key`. |
| 22 | +- [`map.clear()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/clear) -- очищает коллекцию от всех элементов. |
| 23 | +- [`map.size`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/size) -- возвращает текущее количество элементов. |
24 | 24 |
|
25 | 25 | Например: |
26 | 26 |
|
@@ -104,9 +104,9 @@ map.set("1", "str1") |
104 | 104 |
|
105 | 105 | Для перебора коллекции `Map` есть 3 метода: |
106 | 106 |
|
107 | | -- [`map.keys()`](mdn:js/Map/keys) -- возвращает итерируемый объект по ключам, |
108 | | -- [`map.values()`](mdn:js/Map/values) -- возвращает итерируемый объект по значениям, |
109 | | -- [`map.entries()`](mdn:js/Map/entries) -- возвращает итерируемый объект по парам вида `[ключ, значение]`, этот вариант используется по умолчанию в `for..of`. |
| 107 | +- [`map.keys()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/keys) -- возвращает итерируемый объект по ключам, |
| 108 | +- [`map.values()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/values) -- возвращает итерируемый объект по значениям, |
| 109 | +- [`map.entries()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/entries) -- возвращает итерируемый объект по парам вида `[ключ, значение]`, этот вариант используется по умолчанию в `for..of`. |
110 | 110 |
|
111 | 111 | Например: |
112 | 112 |
|
@@ -232,16 +232,16 @@ let obj = Object.fromEntries(map); // убрать .entries() |
232 | 232 |
|
233 | 233 | ## Set |
234 | 234 |
|
235 | | -Объект `Set` -- это особый вид коллекции: "множество" значений (без ключей), где каждое значение может появляться только один раз. |
| 235 | +Объект [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) -- это особый вид коллекции: "множество" значений (без ключей), где каждое значение может появляться только один раз. |
236 | 236 |
|
237 | 237 | Его основные методы это: |
238 | 238 |
|
239 | | -- `new Set(iterable)` -- создаёт `Set`, и если в качестве аргумента был предоставлен итерируемый объект (обычно это массив), то копирует его значения в новый `Set`. |
240 | | -- [`set.add(value)`](mdn:js/Set/add) -- добавляет значение (если оно уже есть, то ничего не делает), возвращает тот же объект `set`. |
241 | | -- [`set.delete(value)`](mdn:js/Set/delete) -- удаляет значение, возвращает `true`, если `value` было в множестве на момент вызова, иначе `false`. |
242 | | -- [`set.has(value)`](mdn:js/Set/has) -- возвращает `true`, если значение присутствует в множестве, иначе `false`. |
243 | | -- [`set.clear()`](mdn:js/Set/clear) -- удаляет все имеющиеся значения. |
244 | | -- [`set.size`](mdn:js/Set/size) -- возвращает количество элементов в множестве. |
| 239 | +- [`new Set(iterable)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/Set) -- создаёт `Set`, и если в качестве аргумента был предоставлен итерируемый объект (обычно это массив), то копирует его значения в новый `Set`. |
| 240 | +- [`set.add(value)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/add) -- добавляет значение (если оно уже есть, то ничего не делает), возвращает тот же объект `set`. |
| 241 | +- [`set.delete(value)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/delete) -- удаляет значение, возвращает `true`, если `value` было в множестве на момент вызова, иначе `false`. |
| 242 | +- [`set.has(value)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/has) -- возвращает `true`, если значение присутствует в множестве, иначе `false`. |
| 243 | +- [`set.clear()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/clear) -- удаляет все имеющиеся значения. |
| 244 | +- [`set.size`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/size) -- возвращает количество элементов в множестве. |
245 | 245 |
|
246 | 246 | Основная "изюминка" - это то, что при повторных вызовах `set.add()` с одним и тем же значением ничего не происходит, за счёт этого как раз и получается, что каждое значение появляется один раз. |
247 | 247 |
|
@@ -294,38 +294,38 @@ set.forEach((value, valueAgain, set) => { |
294 | 294 |
|
295 | 295 | `Set` имеет те же встроенные методы, что и `Map`: |
296 | 296 |
|
297 | | -- [`set.keys()`](mdn:js/Set/keys) -- возвращает перебираемый объект для значений, |
298 | | -- [`set.values()`](mdn:js/Set/values) -- то же самое, что и `set.keys()`, присутствует для обратной совместимости с `Map`, |
299 | | -- [`set.entries()`](mdn:js/Set/entries) -- возвращает перебираемый объект для пар вида `[значение, значение]`, присутствует для обратной совместимости с `Map`. |
| 297 | +- [`set.keys()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/keys) -- возвращает перебираемый объект для значений, |
| 298 | +- [`set.values()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/values) -- то же самое, что и `set.keys()`, присутствует для обратной совместимости с `Map`, |
| 299 | +- [`set.entries()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/entries) -- возвращает перебираемый объект для пар вида `[значение, значение]`, присутствует для обратной совместимости с `Map`. |
300 | 300 |
|
301 | 301 | ## Итого |
302 | 302 |
|
303 | | -`Map` -- коллекция пар ключ-значение. |
| 303 | +[`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) -- коллекция пар ключ-значение. |
304 | 304 |
|
305 | 305 | Методы и свойства: |
306 | 306 |
|
307 | | -- `new Map([iterable])` -- создаёт коллекцию, можно указать перебираемый объект (обычно массив) из пар `[ключ,значение]` для инициализации. |
308 | | -- [`map.set(key, value)`](mdn:js/Map/set) -- записывает по ключу `key` значение `value`. |
309 | | -- [`map.get(key)`](mdn:js/Map/get)` -- возвращает значение по ключу или `undefined`, если ключ `key` отсутствует. |
310 | | -- [`map.has(key)`](mdn:js/Map/has) -- возвращает `true`, если ключ `key` присутствует в коллекции, иначе `false`. |
311 | | -- [`map.delete(key)`](mdn:js/Map/delete) -- удаляет элемент по ключу `key`. |
312 | | -- [`map.clear()`](mdn:js/Map/clear) -- очищает коллекцию от всех элементов. |
313 | | -- [`map.size`](mdn:js/Map/size) -- возвращает текущее количество элементов. |
| 307 | +- [`new Map([iterable])`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/Map) -- создаёт коллекцию, можно указать перебираемый объект (обычно массив) из пар `[ключ,значение]` для инициализации. |
| 308 | +- [`map.set(key, value)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/set) -- записывает по ключу `key` значение `value`. |
| 309 | +- [`map.get(key)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/get) -- возвращает значение по ключу или `undefined`, если ключ `key` отсутствует. |
| 310 | +- [`map.has(key)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/has) -- возвращает `true`, если ключ `key` присутствует в коллекции, иначе `false`. |
| 311 | +- [`map.delete(key)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/delete) -- удаляет элемент по ключу `key`. |
| 312 | +- [`map.clear()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/clear) -- очищает коллекцию от всех элементов. |
| 313 | +- [`map.size`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/size) -- возвращает текущее количество элементов. |
314 | 314 |
|
315 | 315 | Отличия от обычного объекта `Object`: |
316 | 316 |
|
317 | 317 | - Что угодно может быть ключом, в том числе и объекты. |
318 | 318 | - Есть дополнительные методы, свойство `size`. |
319 | 319 |
|
320 | | -`Set` -- коллекция уникальных значений, так называемое "множество". |
| 320 | +[`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) -- коллекция уникальных значений, так называемое "множество". |
321 | 321 |
|
322 | 322 | Методы и свойства: |
323 | 323 |
|
324 | | -- `new Set([iterable])` -- создаёт `Set`, можно указать перебираемый объект со значениями для инициализации. |
325 | | -- [`set.add(value)`](mdn:js/Set/add) -- добавляет значение (если оно уже есть, то ничего не делает), возвращает тот же объект `set`. |
326 | | -- [`set.delete(value)`](mdn:js/Set/delete) -- удаляет значение, возвращает `true` если `value` было в множестве на момент вызова, иначе `false`. |
327 | | -- [`set.has(value)`](mdn:js/Set/has) -- возвращает `true`, если значение присутствует в множестве, иначе `false`. |
328 | | -- [`set.clear()`](mdn:js/Set/clear) -- удаляет все имеющиеся значения. |
329 | | -- [`set.size`](mdn:js/Set/size) -- возвращает количество элементов в множестве. |
| 324 | +- [`new Set(iterable)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/Set) -- создаёт `Set`, можно указать перебираемый объект со значениями для инициализации. |
| 325 | +- [`set.add(value)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/add) -- добавляет значение (если оно уже есть, то ничего не делает), возвращает тот же объект `set`. |
| 326 | +- [`set.delete(value)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/delete) -- удаляет значение, возвращает `true` если `value` было в множестве на момент вызова, иначе `false`. |
| 327 | +- [`set.has(value)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/has) -- возвращает `true`, если значение присутствует в множестве, иначе `false`. |
| 328 | +- [`set.clear()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/clear) -- удаляет все имеющиеся значения. |
| 329 | +- [`set.size`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/size) -- возвращает количество элементов в множестве. |
330 | 330 |
|
331 | 331 | Перебор `Map` и `Set` всегда осуществляется в порядке добавления элементов, так что нельзя сказать, что это -- неупорядоченные коллекции, но поменять порядок элементов или получить элемент напрямую по его номеру нельзя. |
0 commit comments