From 52ccdf1f0a1cee3f0659ac78e81c79dae152399b Mon Sep 17 00:00:00 2001 From: MDN Date: Wed, 23 Jun 2021 00:34:06 +0000 Subject: [CRON] sync translated content --- .../orphaned/web/api/node/getuserdata/index.html | 64 +++++ .../global_objects/map/@@species/index.html | 64 +++++ .../reference/global_objects/map/clear/index.html | 72 ++++++ .../reference/global_objects/map/delete/index.html | 77 ++++++ .../global_objects/map/entries/index.html | 76 ++++++ .../global_objects/map/foreach/index.html | 95 +++++++ .../reference/global_objects/map/get/index.html | 69 +++++ .../reference/global_objects/map/has/index.html | 72 ++++++ .../reference/global_objects/map/index.html | 286 +++++++++++++++++++++ .../reference/global_objects/map/keys/index.html | 66 +++++ .../reference/global_objects/map/set/index.html | 89 +++++++ .../reference/global_objects/map/size/index.html | 65 +++++ .../reference/global_objects/map/values/index.html | 65 +++++ 13 files changed, 1160 insertions(+) create mode 100644 files/ru/orphaned/web/api/node/getuserdata/index.html create mode 100644 files/ru/orphaned/web/javascript/reference/global_objects/map/@@species/index.html create mode 100644 files/ru/orphaned/web/javascript/reference/global_objects/map/clear/index.html create mode 100644 files/ru/orphaned/web/javascript/reference/global_objects/map/delete/index.html create mode 100644 files/ru/orphaned/web/javascript/reference/global_objects/map/entries/index.html create mode 100644 files/ru/orphaned/web/javascript/reference/global_objects/map/foreach/index.html create mode 100644 files/ru/orphaned/web/javascript/reference/global_objects/map/get/index.html create mode 100644 files/ru/orphaned/web/javascript/reference/global_objects/map/has/index.html create mode 100644 files/ru/orphaned/web/javascript/reference/global_objects/map/index.html create mode 100644 files/ru/orphaned/web/javascript/reference/global_objects/map/keys/index.html create mode 100644 files/ru/orphaned/web/javascript/reference/global_objects/map/set/index.html create mode 100644 files/ru/orphaned/web/javascript/reference/global_objects/map/size/index.html create mode 100644 files/ru/orphaned/web/javascript/reference/global_objects/map/values/index.html (limited to 'files/ru/orphaned') diff --git a/files/ru/orphaned/web/api/node/getuserdata/index.html b/files/ru/orphaned/web/api/node/getuserdata/index.html new file mode 100644 index 0000000000..949bc17fd7 --- /dev/null +++ b/files/ru/orphaned/web/api/node/getuserdata/index.html @@ -0,0 +1,64 @@ +--- +title: Node.getUserData() +slug: orphaned/Web/API/Node/getUserData +translation_of: Web/API/Node/getUserData +original_slug: Web/API/Node/getUserData +--- +

{{APIRef("DOM")}}{{ obsolete_header() }}

+ +

Метод Node.getUserData() возвращает любого пользователя {{domxref("DOMUserData")}} установленного предварительно на данном узле через {{domxref("Node.setUserData()")}}.

+ +
+

Методы Node.setUserData и {{domxref("Node.getUserData")}} больше не доступны для веб-контента. {{domxref("Element.dataset")}} или WeakMap могут быть использованы вместо него.

+
+ +

Синтаксис

+ +
userData = someNode.getUserData(userKey);
+ +

Параметры

+ + + +

Пример

+ +
var d = document.setUserData('key', 15, null);
+alert(document.getUserData('key')); // 15
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('DOM WHATWG', '#interface-node', 'Node')}}{{Spec2('DOM WHATWG')}}Удалено из спецификации
{{SpecName('DOM3 Core', 'core.html#Node3-getUserData', 'Node.getUserData()')}}{{Spec2('DOM3 Core')}}Изначальное описание
+ +

Совместимость с браузерами

+ +

{{Compat("api.Node.getUserData")}}

+ +

Смотрите также

+ + diff --git a/files/ru/orphaned/web/javascript/reference/global_objects/map/@@species/index.html b/files/ru/orphaned/web/javascript/reference/global_objects/map/@@species/index.html new file mode 100644 index 0000000000..fb101362a7 --- /dev/null +++ b/files/ru/orphaned/web/javascript/reference/global_objects/map/@@species/index.html @@ -0,0 +1,64 @@ +--- +title: get Map[@@species] +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/@@species +translation_of: Web/JavaScript/Reference/Global_Objects/Map/@@species +original_slug: Web/JavaScript/Reference/Global_Objects/Map/@@species +--- +
{{JSRef}}
+ +

Акцессор свойства Map[@@species] возвращает Map конструктор.

+ +

Синтаксис

+ +
Map[Symbol.species]
+
+ +

Описание

+ +

Акцессор свойства species, возвращает конструктор по умолчанию для Map объектов. Конструкторы подклассов могут переопределить его, чтобы изменить поведение конструктора.

+ +

Примеры

+ +

Свойство species возвращает конструктор по умолчанию, который является конструктором Map для Map объектов:

+ +
Map[Symbol.species]; // функция Map()
+ +

В производном объекте коллекции (например, ваша пользовательская карта MyMap), MyMap species является MyMap конструктором. Однако, вы можете захотеть переопределить это, что бы вернуть родительский Map в методах вашего производного класса:

+ +
class MyMap extends Map {
+  // Перезаписываем MyMap species на родительский Map конструктор
+  static get [Symbol.species]() { return Map; }
+}
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('ES2015', '#sec-get-map-@@species', 'get Map [ @@species ]')}}{{Spec2('ES2015')}}Исходное определение.
{{SpecName('ESDraft', '#sec-get-map-@@species', 'get Map [ @@species ]')}}{{Spec2('ESDraft')}} 
+ +

Поддержка браузерами

+ +

{{Compat}}

+ +

Смотрите также

+ + diff --git a/files/ru/orphaned/web/javascript/reference/global_objects/map/clear/index.html b/files/ru/orphaned/web/javascript/reference/global_objects/map/clear/index.html new file mode 100644 index 0000000000..5d9c518a05 --- /dev/null +++ b/files/ru/orphaned/web/javascript/reference/global_objects/map/clear/index.html @@ -0,0 +1,72 @@ +--- +title: Map.prototype.clear() +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/clear +tags: + - ECMAScript6 + - JavaScript + - Map + - Method + - Prototype +translation_of: Web/JavaScript/Reference/Global_Objects/Map/clear +original_slug: Web/JavaScript/Reference/Global_Objects/Map/clear +--- +
{{JSRef}}
+ +

Метод clear() удаляет все элементы из объекта Map.

+ +

Синтаксис

+ +
myMap.clear();
+ +

Возвращаемое значение

+ +

{{jsxref("undefined")}}.

+ +

Примеры

+ +

Использование метода clear

+ +
var myMap = new Map();
+myMap.set('bar', 'baz');
+myMap.set(1, 'foo');
+
+myMap.size;       // 2
+myMap.has('bar'); // true
+
+myMap.clear();
+
+myMap.size;       // 0
+myMap.has('bar')  // false
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('ES2015', '#sec-map.prototype.clear', 'Map.prototype.clear')}}{{Spec2('ES2015')}}Изначальное определение.
{{SpecName('ESDraft', '#sec-map.prototype.clear', 'Map.prototype.clear')}}{{Spec2('ESDraft')}} 
+ +

Совместимость с браузерами

+ +

{{Compat}}

+ +

Смотрите также

+ + diff --git a/files/ru/orphaned/web/javascript/reference/global_objects/map/delete/index.html b/files/ru/orphaned/web/javascript/reference/global_objects/map/delete/index.html new file mode 100644 index 0000000000..7f52de0c89 --- /dev/null +++ b/files/ru/orphaned/web/javascript/reference/global_objects/map/delete/index.html @@ -0,0 +1,77 @@ +--- +title: Map.prototype.delete() +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/delete +tags: + - ECMAScript 2015 + - JavaScript + - Map + - Ссылка + - метод + - прототип +translation_of: Web/JavaScript/Reference/Global_Objects/Map/delete +original_slug: Web/JavaScript/Reference/Global_Objects/Map/delete +--- +
{{JSRef}}
+ +

Метод delete() удаляет указанный элемент из объекта {{jsxref("Map")}}.

+ +
{{EmbedInteractiveExample("pages/js/map-prototype-delete.html")}}
+ + + +

Синтаксис

+ +
myMap.delete(key);
+ +

Параметры

+ +
+
key
+
Ключ элемента удаляемого из объекта {{jsxref("Map")}}
+
+ +

Возвращаемое значение

+ +

true если элемент существовал в {{jsxref("Map")}} и он был удалён или false если элемента с таким ключом не было.

+ +

Примеры

+ +

Использование метода delete

+ +
var myMap = new Map();
+myMap.set('bar', 'foo');
+
+myMap.delete("bar"); // Возвращает true. Успешно удалён.
+myMap.has("bar");    // Возвращает false. Элемента "bar" больше нет.
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('ES2015', '#sec-map.prototype.delete', 'Map.prototype.delete')}}{{Spec2('ES2015')}}Изначальное определение.
{{SpecName('ESDraft', '#sec-map.prototype.delete', 'Map.prototype.delete')}}{{Spec2('ESDraft')}}
+ +

Совместимость с браузерами

+

{{Compat("javascript.builtins.Map.delete")}}

+ +

Смотрите также

+ + diff --git a/files/ru/orphaned/web/javascript/reference/global_objects/map/entries/index.html b/files/ru/orphaned/web/javascript/reference/global_objects/map/entries/index.html new file mode 100644 index 0000000000..c1d3faf3d3 --- /dev/null +++ b/files/ru/orphaned/web/javascript/reference/global_objects/map/entries/index.html @@ -0,0 +1,76 @@ +--- +title: Map.prototype.entries() +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/entries +translation_of: Web/JavaScript/Reference/Global_Objects/Map/entries +original_slug: Web/JavaScript/Reference/Global_Objects/Map/entries +--- +
{{JSRef}}
+ +

Метод entries() возвращает новый Итератор, содержащий пары [key, value] для каждого элемента объекта {{jsxref("Map")}} в том порядке, в котором они были заведены.

+ +

Исходный код всех примеров для  {{jsxref("Map")}} сохранён на GitHub https://github.com/mdn/interactive-examples/tree/master/live-examples/js-examples/map.

+ +

Вы можете внести свой вклад, для этого: 

+ +

1. Клонируйте https://github.com/mdn/interactive-examples

+ +

2. Ознакомьтесь с руководством https://github.com/mdn/interactive-examples/blob/master/CONTRIBUTING.md

+ +

3. Напишите свой пример и отправьте нам запрос на извлечение.

+ +

Синтаксис

+ +
myMap.entries()
+ +

Возвращаемое значение

+ +

Новый итератор объекта {{jsxref("Map")}}.

+ +

Примеры

+ +

Использование entries()

+ +
var myMap = new Map();
+myMap.set('0', 'foo');
+myMap.set(1, 'bar');
+myMap.set({}, 'baz');
+
+var mapIter = myMap.entries();
+
+console.log(mapIter.next().value); // ["0", "foo"]
+console.log(mapIter.next().value); // [1, "bar"]
+console.log(mapIter.next().value); // [Object, "baz"]
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('ES2015', '#sec-map.prototype.entries', 'Map.prototype.entries')}}{{Spec2('ES2015')}}Initial definition.
{{SpecName('ESDraft', '#sec-map.prototype.entries', 'Map.prototype.entries')}}{{Spec2('ESDraft')}}
+ +

Поддержка браузерами

+ +

{{Compat}}

+ +

Смотрите также

+ + diff --git a/files/ru/orphaned/web/javascript/reference/global_objects/map/foreach/index.html b/files/ru/orphaned/web/javascript/reference/global_objects/map/foreach/index.html new file mode 100644 index 0000000000..b2f99f9f47 --- /dev/null +++ b/files/ru/orphaned/web/javascript/reference/global_objects/map/foreach/index.html @@ -0,0 +1,95 @@ +--- +title: Map.prototype.forEach() +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/forEach +translation_of: Web/JavaScript/Reference/Global_Objects/Map/forEach +original_slug: Web/JavaScript/Reference/Global_Objects/Map/forEach +--- +
{{JSRef}}
+ +

Метод forEach() выполняет переданную функцию единожды для каждой пары ключ/значение объекта Map в порядке их вставки.

+ +
{{EmbedInteractiveExample("pages/js/map-prototype-foreach.html")}}
+ +

Синтаксис

+ +
myMap.forEach(callback[, thisArg])
+ +

Параметры

+ +
+
callback
+
Функция, которая будет выполнена для каждого элемента.
+
thisArg
+
Значение, которое будет использовано в качестве текущего при выполнении callback.
+
+ +

Возвращаемое значение

+ +

{{jsxref("undefined")}}.

+ +

Описание

+ +

Метод forEach выполняет переданный ему callback по разу для каждого фактически существующего ключа в наборе. Callback не вызывается для ключей, которые были удалены. Однако, он выполняется для элементов со значением undefined.

+ +

При вызове callback используются три аргумента:

+ + + +

Если аргумент thisArg указан для forEach, то при вызове callback он будет передан в качестве значения this.  В противном случае для this будет передано undefined. Значение this, в конечном итоге наблюдаемое в функции callback, определяется в соответствии c обычными правилами определения this в функции.

+ +

Каждое значение посещается один раз, за исключением случая, когда оно было удалено и добавлено снова до завершения forEach. callback не вызывается для значений, удалённых до их посещения. Новые значения будут посещены, если они добавлены до завершения forEach.

+ +

forEach исполняет функцию callback один раз для каждого элемента в объекте Map; не возвращает значение.

+ +

Примеры

+ +

Вывод содержимого объекта Map

+ +

Следующий код выводит в консоль строку для каждого элемента в объекте Map:

+ +
function logMapElements(value, key, map) {
+    console.log("m[" + key + "] = " + value);
+}
+new Map([["foo", 3], ["bar", {}], ["baz", undefined]]).forEach(logMapElements);
+// logs:
+// "m[foo] = 3"
+// "m[bar] = [object Object]"
+// "m[baz] = undefined"
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('ES6', '#sec-map.prototype.foreach', 'Map.prototype.forEach')}}{{Spec2('ES6')}}Initial definition.
{{SpecName('ESDraft', '#sec-map.prototype.foreach', 'Map.prototype.forEach')}}{{Spec2('ESDraft')}} 
+ +

Совместимость с браузерами

+ +

{{Compat("javascript.builtins.Map.forEach")}}

+ +

Смотрите также

+ + diff --git a/files/ru/orphaned/web/javascript/reference/global_objects/map/get/index.html b/files/ru/orphaned/web/javascript/reference/global_objects/map/get/index.html new file mode 100644 index 0000000000..8f91194549 --- /dev/null +++ b/files/ru/orphaned/web/javascript/reference/global_objects/map/get/index.html @@ -0,0 +1,69 @@ +--- +title: Map.prototype.get() +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/get +translation_of: Web/JavaScript/Reference/Global_Objects/Map/get +original_slug: Web/JavaScript/Reference/Global_Objects/Map/get +--- +
{{JSRef}}
+ +

Метод get() возвращает указанный элемент объекта {{jsxref("Map")}}.

+ +

Синтаксис

+ +
myMap.get(key);
+ +

Параметры

+ +
+
key
+
Обязательный. Ключ элемента объекта {{jsxref("Map")}}.
+
+ +

Возвращаемое значение

+ +

Возвращает элемент связанный с указанным ключом или undefined, если ключ не был найден в объекте {{jsxref("Map")}}​​​​.

+ +

Примеры

+ +

Использование метода get()

+ +
var myMap = new Map();
+myMap.set('bar', 'foo');
+
+myMap.get('bar');  // Вернёт "foo".
+myMap.get('baz');  // Вернёт undefined.
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('ES2015', '#sec-map.prototype.get', 'Map.prototype.get')}}{{Spec2('ES2015')}}Initial definition.
{{SpecName('ESDraft', '#sec-map.prototype.get', 'Map.prototype.get')}}{{Spec2('ESDraft')}}
+ +

Поддержка браузерами

+ +

{{Compat("javascript.builtins.Map.get")}}

+ +

Смотрите также

+ + diff --git a/files/ru/orphaned/web/javascript/reference/global_objects/map/has/index.html b/files/ru/orphaned/web/javascript/reference/global_objects/map/has/index.html new file mode 100644 index 0000000000..ce4cae29b7 --- /dev/null +++ b/files/ru/orphaned/web/javascript/reference/global_objects/map/has/index.html @@ -0,0 +1,72 @@ +--- +title: Map.prototype.has() +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/has +translation_of: Web/JavaScript/Reference/Global_Objects/Map/has +original_slug: Web/JavaScript/Reference/Global_Objects/Map/has +--- +
{{JSRef}}
+ +

Метод has() возвращает тип Boolean, указывающий существует ли элемент с указанным ключом или нет.

+ +

Синтаксис

+ +
myMap.has(key);
+ +

Параметры

+ +
+
key
+
Обязательный параметр. Ключ элемента для проверки существования в объекте Map.
+
+ +

Возвращаемое значение

+ +
+
Boolean
+
Возвращает true, если элемент с указанным ключом существует в объекте Map; в противном случае возвращает false.
+
+ +

Примеры

+ +

Использование метода has

+ +
var myMap = new Map();
+myMap.set('bar', "foo");
+
+myMap.has('bar');  // возвращает true
+myMap.has('baz');  // возвращает false
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('ES2015', '#sec-map.prototype.has', 'Map.prototype.has')}}{{Spec2('ES2015')}}Первоначальное определение.
{{SpecName('ESDraft', '#sec-map.prototype.has', 'Map.prototype.has')}}{{Spec2('ESDraft')}} 
+ +

Совместимость с браузерами

+ +

{{Compat}}

+ +

Смотрите также

+ + diff --git a/files/ru/orphaned/web/javascript/reference/global_objects/map/index.html b/files/ru/orphaned/web/javascript/reference/global_objects/map/index.html new file mode 100644 index 0000000000..4ea24c2ad6 --- /dev/null +++ b/files/ru/orphaned/web/javascript/reference/global_objects/map/index.html @@ -0,0 +1,286 @@ +--- +title: Map +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map +tags: + - ECMAScript 2015 + - JavaScript + - Map +translation_of: Web/JavaScript/Reference/Global_Objects/Map +original_slug: Web/JavaScript/Reference/Global_Objects/Map +--- +
{{JSRef}}
+ +

Объект Map содержит пары ключ-значение и сохраняет порядок вставки. Любое значение (как объекты, так и {{Glossary("Primitive", "примитивы")}}) могут быть использованы в качестве ключей.

+ +

Синтаксис

+ +
new Map([iterable])
+ +

Параметры

+ +
+
iterable
+
Массив или любой другой итерируемый объект чьими элементами являются пары ключ-значение (массивы из двух элементов, например [[ 1, 'one' ],[ 2, 'two' ]]). Все пары ключ-значение будут добавлены в новый экземпляр Map; null расценивается как undefined.
+
+ +

Описание

+ +

Объект Map итерируется в порядке вставки его элементов — цикл {{jsxref("Statements/for...of", "for...of")}} будет возвращать массив [key, value] на каждой итерации.

+ +

Key equality

+ +

Сравнение ключей основано на алгоритме "{{Glossary("SameValueZero", "SameValueZero")}}": NaN равно NaN (несмотря на то, что NaN !== NaN), все другие значения рассматриваются равными исходя из семантики оператора строгого равенства ===. В текущей спецификации ECMAScript -0 и +0 принимаются равными, но в ранних версиях обсуждения это было не так (см. "Value equality for -0 and 0" в таблице совместимости с браузерами).

+ +

Сравнение Объектов и Map

+ +

Объекты похожи на Map в том, что оба позволяют устанавливать значения по ключам, получать эти значения, удалять ключи и проверять их наличие. В связи с этим (и потому, что не было встроенных альтернатив), {{jsxref("Object", "Объекты")}} исторически использовались как Map. Однако, у них есть ряд отличий, который даёт преимущества Map в ряде случаев:

+ + + +

Свойства

+ +
+
Map.length
+
Значение свойства length всегда равно 0.
+
Чтобы узнать количество элементов в Map - используйте {{jsxref("Map.prototype.size")}}.
+
{{jsxref("Map.@@species", "get Map[@@species]")}}
+
Функция-конструктор которая используется для создания производных объектов.
+
{{jsxref("Map.prototype")}}
+
Представляет прототип конструктора Map. Позволяет добавлять свойства всем объектам типа Map.
+
+ +

Экземпляры Map

+ +

Все экземпляры Map наследуются от {{jsxref("Map.prototype")}}.

+ +

Свойства

+ +
+
Map.prototype.constructor
+
Возвращает функцию, которая создала прототип экземпляра. Это функция Map по умолчанию.
+
Map.prototype.size
+
Возвращает количество пар ключ/значение в объекте Map.
+
+ +

Методы

+ +
+
Map.prototype.clear()
+
Удаляет все пары ключ / значение из объекта Map.
+
Map.prototype.delete(key)
+
Возвращает true, если элемент в объекте Map существовал и был удалён, или false, если элемент не существует. Map.prototype.has(key) вернёт false позже.
+
Map.prototype.entries()
+
Возвращает новый объект Iterator который содержит массив [key, value] для каждого элемента в объекте Map в порядке вставки.
+
Map.prototype.forEach(callbackFn[, thisArg])
+
Вызывает callbackFn один раз для каждой пары ключ-значение, присутствующей в объекте Map, в порядке вставки. Если для thisArg предоставляется параметр для forEach, он будет использоваться как значение this для каждого колбэка.
+
Map.prototype.get(key)
+
Возвращает значение связанное с key, или undefined если его нет.
+
Map.prototype.has(key)
+
Возвращает логическое значение, подтверждающее, было ли значение связано с key в объекте Map или нет.
+
Map.prototype.keys()
+
Возвращает новый объект Iterator содержащий ключи для каждого элемента в объекте Map в порядке вставки.
+
Map.prototype.set(key, value)
+
Устанавливает значение для key в объекте Map. Возвращает объект Map.
+
Map.prototype.values()
+
Возвращает новый объект Iterator который содержит значения для каждого элемента в объекте Map в порядке вставки.
+
Map.prototype[@@iterator]()
+
Возвращает новый объект Iterator который содержит массив [key, value] для каждого элемента в объекте Map в порядке вставки.
+
+ +

Примеры

+ +

Использование объекта Map

+ +
const myMap = new Map();
+
+const keyObj = {},
+    keyFunc = function () {},
+    keyString = 'a string';
+
+// задание значений
+myMap.set(keyString, 'value associated with “a string”');
+myMap.set(keyObj, 'value associated with keyObj');
+myMap.set(keyFunc, 'value associated with keyFunc');
+
+myMap.size; // 3
+
+// получение значений
+myMap.get(keyString);    // value associated with “a string”
+myMap.get(keyObj);       // value associated with keyObj
+myMap.get(keyFunc);      // value associated with keyFunc
+
+myMap.get('a string');   // "value associated with 'a string'"
+                         // потому что keyString === 'a string'
+myMap.get({});           // undefined, потому что keyObj !== {} ({} — это литеральная нотация конструктора класса Object)
+myMap.get(function() {}) // undefined, потому что keyFunc !== function () {}
+
+ +

Использование NaN в качестве ключей Map

+ +

NaN может быть использован в качестве ключа. Несмотря на то, что NaN не равен самому себе (NaN !== NaN вернёт true), следующий пример работает, потому что NaN обрабатывается особым образом:

+ +
const myMap = new Map();
+myMap.set(NaN, 'not a number');
+
+myMap.get(NaN); // not a number
+
+const otherNaN = Number('foo');
+myMap.get(otherNaN); // not a number
+
+ +

Итерация Map при помощи for..of

+ +

Map может быть итерирован с помощью for..of:

+ +
const myMap = new Map();
+myMap.set(0, 'zero');
+myMap.set(1, 'one');
+for (var [key, value] of myMap) {
+  console.log(key + ' = ' + value);
+}
+// 0 = zero
+// 1 = one
+
+for (var key of myMap.keys()) {
+  console.log(key);
+}
+// 0
+// 1
+
+for (var value of myMap.values()) {
+  console.log(value);
+}
+// zero
+// one
+
+for (var [key, value] of myMap.entries()) {
+  console.log(key + ' = ' + value);
+}
+// 0 = zero
+// 1 = one
+
+ +

Итерация Map при помощи forEach()

+ +

Map может быть итерирован с помощью метода forEach():

+ +
myMap.forEach(function(value, key) {
+  console.log(`${key} => ${value}`);
+});
+// 0 => zero
+// 1 => one
+
+ +

Взаимоотношения с объектом Array

+ +
const kvArray = [['key1', 'value1'], ['key2', 'value2']];
+
+// Используйте конструктор Map для преобразования двумерных массивов в Map
+const myMap = new Map(kvArray);
+
+myMap.get('key1'); // вернёт “value1”
+
+// Используйте функцию Array.from для трансформации Map в двумерный key-value массив
+console.log(Array.from(myMap)); // Выведет точно такой же массив как kvArray
+
+// Или используйте итераторы  keys или values чтобы преобразовать ключи или значения в массивы
+console.log(Array.from(myMap.keys())); // Выведет ['key1', 'key2']
+
+ +

Клонирование и слияние Map

+ +

 Равно как и {{jsxref("Array", "Массивы")}}, Map могут быть клонированы:

+ +
const original = new Map([
+  [1, 'one']
+]);
+
+const clone = new Map(original);
+
+console.log(clone.get(1)); // one
+console.log(original === clone); // false.
+ +

Следует помнить, что данные не клонируются.

+ +

Map могут быть слиты, с сохранением уникальности ключей:

+ +
const first = new Map([
+  [1, 'one'],
+  [2, 'two'],
+  [3, 'three'],
+]);
+
+const second = new Map([
+  [1, 'uno'],
+  [2, 'dos']
+]);
+
+// Слияние двух Map. Взят будет последний повторившийся ключ.
+// Оператор Spread по сути преобразует Map в массив
+const merged = new Map([...first, ...second]);
+
+console.log(merged.get(1)); // uno
+console.log(merged.get(2)); // dos
+console.log(merged.get(3)); // three
+ +

Map могут быть слиты и с {{jsxref("Array", "Массивами")}}:

+ +
const first = new Map([
+  [1, 'one'],
+  [2, 'two'],
+  [3, 'three'],
+]);
+
+const second = new Map([
+  [1, 'uno'],
+  [2, 'dos']
+]);
+
+// Слияние Map и массива. Как и при слиянии двух Map - взят будет последний повторившийся ключ.
+const merged = new Map([...first, ...second, [1, 'eins']]);
+
+console.log(merged.get(1)); // eins
+console.log(merged.get(2)); // dos
+console.log(merged.get(3)); // three
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('ES2015', '#sec-map-objects', 'Map')}}{{Spec2('ES2015')}}Initial definition.
{{SpecName('ESDraft', '#sec-map-objects', 'Map')}}{{Spec2('ESDraft')}}
+ +

Совместимость с браузерами

+

{{Compat("javascript.builtins.Map")}}

+ +

Смотрите также

+ + diff --git a/files/ru/orphaned/web/javascript/reference/global_objects/map/keys/index.html b/files/ru/orphaned/web/javascript/reference/global_objects/map/keys/index.html new file mode 100644 index 0000000000..aeb0f7f568 --- /dev/null +++ b/files/ru/orphaned/web/javascript/reference/global_objects/map/keys/index.html @@ -0,0 +1,66 @@ +--- +title: Map.prototype.keys() +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/keys +translation_of: Web/JavaScript/Reference/Global_Objects/Map/keys +original_slug: Web/JavaScript/Reference/Global_Objects/Map/keys +--- +
{{JSRef}}
+ +

Метод keys() возвращает новый Итератор, содержащий ключи каждого элемента объекта {{jsxref("Map")}} в том порядке, в котором они были заведены.

+ +

Синтаксис

+ +
myMap.keys()
+ +

Возвращаемое значение

+ +

Новый итератор объекта {{jsxref("Map")}}.

+ +

Примеры

+ +

Использование метода keys()

+ +
var myMap = new Map();
+myMap.set('0', 'foo');
+myMap.set(1, 'bar');
+myMap.set({}, 'baz');
+
+var mapIter = myMap.keys();
+
+console.log(mapIter.next().value); // "0"
+console.log(mapIter.next().value); // 1
+console.log(mapIter.next().value); // Object
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('ES2015', '#sec-map.prototype.keys', 'Map.prototype.keys')}}{{Spec2('ES2015')}}Initial definition.
{{SpecName('ESDraft', '#sec-map.prototype.keys', 'Map.prototype.keys')}}{{Spec2('ESDraft')}} 
+ +

Поддержка браузерами

+ +

{{Compat}}

+ +

Смотрите также

+ + diff --git a/files/ru/orphaned/web/javascript/reference/global_objects/map/set/index.html b/files/ru/orphaned/web/javascript/reference/global_objects/map/set/index.html new file mode 100644 index 0000000000..ae605adefd --- /dev/null +++ b/files/ru/orphaned/web/javascript/reference/global_objects/map/set/index.html @@ -0,0 +1,89 @@ +--- +title: Map.prototype.set() +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/set +translation_of: Web/JavaScript/Reference/Global_Objects/Map/set +original_slug: Web/JavaScript/Reference/Global_Objects/Map/set +--- +
{{JSRef}}
+ +

Метод set() добавляет объекту {{jsxref("Map")}} новый элемент или обновляет существующий с указанными значениями key и value.

+ +

Синтаксис

+ +
myMap.set(key, value);
+ +

Параметры

+ +
+
key
+
Ключ добавляемого элемента.
+
value
+
Значение добавляемого элемента.
+
+ +

Возвращаемое значение

+ +

Объект {{jsxref("Map")}}.

+ +

Примеры

+ +

Использование метода set()

+ +
var myMap = new Map();
+
+// Добавление нового элемента объекту Map
+myMap.set('bar', 'foo');
+myMap.set(1, 'foobar');
+
+// Обновление существующего элемента
+myMap.set('bar', 'baz');
+
+ +

Последовательное использование метода set()

+ +

Так как метод set() возвращает объект Map, вы можете последовательно применять метод set() как в примере ниже:

+ +
// Последовательно добавляет новые элементы в myMap:
+myMap.set('bar', 'foo')
+     .set(1, 'foobar')
+     .set(2, 'baz');
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('ES2015', '#sec-map.prototype.set', 'Map.prototype.set')}}{{Spec2('ES2015')}}Initial definition.
{{SpecName('ESDraft', '#sec-map.prototype.set', 'Map.prototype.set')}}{{Spec2('ESDraft')}}
+ +

Поддержка браузерами

+ +

{{Compat}}

+ +

Примечание к поддержке браузерами

+ + + +

Смотрите также

+ + diff --git a/files/ru/orphaned/web/javascript/reference/global_objects/map/size/index.html b/files/ru/orphaned/web/javascript/reference/global_objects/map/size/index.html new file mode 100644 index 0000000000..243f05f282 --- /dev/null +++ b/files/ru/orphaned/web/javascript/reference/global_objects/map/size/index.html @@ -0,0 +1,65 @@ +--- +title: Map.prototype.size +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/size +translation_of: Web/JavaScript/Reference/Global_Objects/Map/size +original_slug: Web/JavaScript/Reference/Global_Objects/Map/size +--- +
{{JSRef}}
+ +

Геттер size возвращает количество элементов в объекте {{jsxref("Map")}}.

+ +

{{EmbedInteractiveExample("pages/js/map-prototype-size.html")}}

+ +

Описание

+ +

Значение size - целое число, описывающее, сколько элементов имеет объект Map. У свойства size не определён сеттер: переопределить его нельзя.

+ +

Примеры

+ +

Использование size

+ +
var myMap = new Map();
+myMap.set("a", "альфа");
+myMap.set("b", "бета");
+myMap.set("g", "гамма");
+
+myMap.size // 3
+
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('ES2015', '#sec-get-map.prototype.size', 'Map.prototype.size')}}{{Spec2('ES2015')}}Первое определение
{{SpecName('ESDraft', '#sec-get-map.prototype.size', 'Map.prototype.size')}}{{Spec2('ESDraft')}}
+ +

Совместимость с браузерами

+ +

{{Compat}}

+ +

Замечания для Gecko

+ + + +

Смотрите также

+ + diff --git a/files/ru/orphaned/web/javascript/reference/global_objects/map/values/index.html b/files/ru/orphaned/web/javascript/reference/global_objects/map/values/index.html new file mode 100644 index 0000000000..0cdf90c670 --- /dev/null +++ b/files/ru/orphaned/web/javascript/reference/global_objects/map/values/index.html @@ -0,0 +1,65 @@ +--- +title: Map.prototype.values() +slug: orphaned/Web/JavaScript/Reference/Global_Objects/Map/values +translation_of: Web/JavaScript/Reference/Global_Objects/Map/values +original_slug: Web/JavaScript/Reference/Global_Objects/Map/values +--- +
{{JSRef}}
+ +

Метод values() возвращает новый Итератор, содержащий значения каждого элемента в объекте {{jsxref("Map")}} в том порядке, в котором они были заведены.

+ +

Синтаксис

+ +
myMap.values()
+ +

Возвращаемое значение

+ +

Новый итератор объекта {{jsxref("Map")}}.

+ +

Примеры

+ +

Использование values()

+ +
var myMap = new Map();
+myMap.set('0', 'foo');
+myMap.set(1, 'bar');
+myMap.set({}, 'baz');
+
+var mapIter = myMap.values();
+
+console.log(mapIter.next().value); // "foo"
+console.log(mapIter.next().value); // "bar"
+console.log(mapIter.next().value); // "baz"
+ +

Спецификации

+ + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('ES2015', '#sec-map.prototype.values', 'Map.prototype.values')}}{{Spec2('ES2015')}}Initial definition.
{{SpecName('ESDraft', '#sec-map.prototype.values', 'Map.prototype.values')}}{{Spec2('ESDraft')}} 
+ +

Поддержка браузерами

+ +

{{Compat}}

+ +

Смотрите также

+ + -- cgit v1.2.3-54-g00ecf