aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/javascript/reference/global_objects/map/set/index.html
blob: b3f13a7fe5ff3ef4378718d1e774a9bdab27f5d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
---
title: Map.prototype.set()
slug: Web/JavaScript/Reference/Global_Objects/Map/set
translation_of: Web/JavaScript/Reference/Global_Objects/Map/set
---
<div>{{JSRef}}</div>

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

<h2 id="Синтаксис">Синтаксис</h2>

<pre class="syntaxbox"><code><em>myMap</em>.set(key, value);</code></pre>

<h3 id="Параметры">Параметры</h3>

<dl>
 <dt>key</dt>
 <dd>Ключ добавляемого элемента.</dd>
 <dt>value</dt>
 <dd>Значение добавляемого элемента.</dd>
</dl>

<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>

<p>Объект {{jsxref("Map")}}.</p>

<h2 id="Примеры">Примеры</h2>

<h3 id="Использование_метода_set()">Использование метода <code>set()</code></h3>

<pre class="brush: js">var myMap = new Map();

// Добавление нового элемента объекту Map
myMap.set('bar', 'foo');
myMap.set(1, 'foobar');

// Обновление существующего элемента
myMap.set('bar', 'baz');
</pre>

<h3 id="Последовательное_использование_метода_set()">Последовательное использование метода <code>set()</code></h3>

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

<pre class="brush: js"><code>// Последовательно добавляет новые элементы в myMap:
myMap.set('bar', 'foo')
     .set(1, 'foobar')
     .set(2, 'baz');</code></pre>

<h2 id="Спецификации">Спецификации</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Спецификация</th>
   <th scope="col">Статус</th>
   <th scope="col">Комментарий</th>
  </tr>
  <tr>
   <td>{{SpecName('ES2015', '#sec-map.prototype.set', 'Map.prototype.set')}}</td>
   <td>{{Spec2('ES2015')}}</td>
   <td>Initial definition.</td>
  </tr>
  <tr>
   <td>{{SpecName('ESDraft', '#sec-map.prototype.set', 'Map.prototype.set')}}</td>
   <td>{{Spec2('ESDraft')}}</td>
   <td></td>
  </tr>
 </tbody>
</table>

<h2 id="Поддержка_браузерами">Поддержка браузерами</h2>

<p>{{CompatibilityTable}}</p>

<div id="compat-desktop">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Chrome</th>
   <th>Edge</th>
   <th>Firefox (Gecko)</th>
   <th>Internet Explorer</th>
   <th>Opera</th>
   <th>Safari</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>38</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatGeckoDesktop("13.0")}}</td>
   <td>11</td>
   <td>25</td>
   <td>7.1</td>
  </tr>
 </tbody>
</table>
</div>

<div id="compat-mobile">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Android</th>
   <th>Chrome for Android</th>
   <th>Edge</th>
   <th>Firefox Mobile (Gecko)</th>
   <th>IE Mobile</th>
   <th>Opera Mobile</th>
   <th>Safari Mobile</th>
  </tr>
  <tr>
   <td>Basic support</td>
   <td>{{CompatNo}}</td>
   <td>38</td>
   <td>{{CompatVersionUnknown}}</td>
   <td>{{CompatGeckoMobile("13.0")}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatNo}}</td>
   <td>8</td>
  </tr>
 </tbody>
</table>
</div>

<h2 id="Примечание_к_поддержке_браузерами">Примечание к поддержке браузерами</h2>

<ul>
 <li>В Firefox 33 {{geckoRelease("33")}} и более ранних версиях <code>Map.prototype.set</code> возвращал <code>undefined</code> и не был доступен вызов его в цепочке. Это было поправлено ({{bug(1031632)}}). Данное поведение было также обнаружено в Chrome/v8 (<a href="https://code.google.com/p/v8/issues/detail?id=3410">issue</a>) и IE11.</li>
</ul>

<h2 id="Смотри_также">Смотри также</h2>

<ul>
 <li>{{jsxref("Map")}}</li>
 <li>{{jsxref("Map.prototype.get()")}}</li>
 <li>{{jsxref("Map.prototype.has()")}}</li>
</ul>