Compare Revisions

Array

Revision 277240:

Revision 277240 by karasiov on

Revision 223605:

Revision 223605 by karasiov on

Title:
Array
Array
Slug:
Справочник_по_JavaScript_1.5/Глобальные_объекты/Array
Справочник_по_JavaScript_1.5/Глобальные_объекты/Array
Content:

Revision 277240
Revision 223605
t7    <h3 id=".D0.90.D0.BD.D0.BD.D0.BE.D1.82.D0.B0.D1.86.D0.B8.D1.8t
>F_.28Summary.29" name=".D0.90.D0.BD.D0.BD.D0.BE.D1.82.D0.B0.D1.86 
>.D0.B8.D1.8F_.28Summary.29"> 
8      <span class="mw-headline">Аннотация (Summary)</span>
9    </h3>
10    <p>
11      <strong>Встроенный объект Array</strong>
12    </p>
13    <p>
14      Объект Array используется для создания массивов, т. е. упор
>ядоченных наборов элементов. 
15    </p>
16    <p>
17      Массив JavaScript может включать любой тип данных, в т.ч.&n
>bsp; различные типы данных в одном массиве. Каждому элементу в ма 
>ссиве назначен индекс (его номер в массиве). По умолчанию индекс  
>- отсчитываемое от нуля целое число (первый элемент имеет индекс  
>0). 
18    </p>
19    <p>
20      Доступ к элементу массива производится по индексу.
21    </p>
22    <p>
23      В приведенной ниже таблице сведены все методы и свойства об
>ъекта Array. 
24    </p>
25    <p>
26      <strong>Методы и свойства объекта Array.</strong>
27    </p>
28    <table border="0" id="table1" style="border-left-width: 0px; 
>border-right-width: 0px;" width="100%"> 
29      <tbody>
30        <tr>
31          <td style="border-style: solid none; border-width: 1px 
>medium;" width="30%"> 
32            Методы <span lang="en-us">/</span> Свойства
33          </td>
34          <td style="border-style: solid none; border-width: 1px 
>medium;" width="70%"> 
35            Описание
36          </td>
37        </tr>
38        <tr>
39          <td align="center" colspan="2" valign="top" width="100%
>"> 
40            Методы
41          </td>
42        </tr>
43        <tr>
44          <td valign="top" width="30%">
45            concat()
46          </td>
47          <td width="70%">
48            Соединяет элементы существующего массива.
49          </td>
50        </tr>
51        <tr>
52          <td valign="top" width="30%">
53            <span lang="en-us">join()</span>
54          </td>
55          <td width="70%">
56            Соединяет все элементы массива в одну строку.
57          </td>
58        </tr>
59        <tr>
60          <td valign="top" width="30%">
61            рор()
62          </td>
63          <td width="70%">
64            Удаляет последний элемент массива.
65          </td>
66        </tr>
67        <tr>
68          <td valign="top" width="30%">
69            push()
70          </td>
71          <td width="70%">
72            Добавляет элементы в конец массива.
73          </td>
74        </tr>
75        <tr>
76          <td valign="top" width="30%">
77            reverse()
78          </td>
79          <td width="70%">
80            Изменяет порядок следования элементов в массиве.
81          </td>
82        </tr>
83        <tr>
84          <td valign="top" width="30%">
85            shift()
86          </td>
87          <td width="70%">
88            Удаляет элементы в начале массива.
89          </td>
90        </tr>
91        <tr>
92          <td valign="top" width="30%">
93            slice()
94          </td>
95          <td width="70%">
96            Возвращает часть массива.
97          </td>
98        </tr>
99        <tr>
100          <td valign="top" width="30%">
101            sort()
102          </td>
103          <td width="70%">
104            Сортирует элементы в массиве.
105          </td>
106        </tr>
107        <tr>
108          <td valign="top" width="30%">
109            splice()
110          </td>
111          <td width="70%">
112            Вставляет и удаляет элементы из массива.
113          </td>
114        </tr>
115        <tr>
116          <td valign="top" width="30%">
117            toSource()
118          </td>
119          <td width="70%">
120            Преобразует элементы в строку с квадратными скобками.
121          </td>
122        </tr>
123        <tr>
124          <td valign="top" width="30%">
125            toString()
126          </td>
127          <td width="70%">
128            Преобразует элементы массива в строку.
129          </td>
130        </tr>
131        <tr>
132          <td valign="top" width="30%">
133            unshift()
134          </td>
135          <td width="70%">
136            Добавляет элементы в начало массива.
137          </td>
138        </tr>
139        <tr>
140          <td align="center" colspan="2" valign="top" width="100%
>"> 
141            Свойства
142          </td>
143        </tr>
144        <tr>
145          <td valign="top" width="30%">
146            valueOf()
147          </td>
148          <td width="70%">
149            Возвращает массив элементов, отделенных запятыми.
150          </td>
151        </tr>
152        <tr>
153          <td valign="top" width="30%">
154            index
155          </td>
156          <td width="70%">
157            Возвращает индекс совпадения в строке для массива, со
>зданного в соответствие с регулярным выражением. 
158          </td>
159        </tr>
160        <tr>
161          <td valign="top" width="30%">
162            input
163          </td>
164          <td width="70%">
165            Для массива, созданного в соответствие с регулярным в
>ыражением свойство возвращает исходную строку. 
166          </td>
167        </tr>
168        <tr>
169          <td valign="top" width="30%">
170            length
171          </td>
172          <td width="70%">
173            &nbsp;Количество элементов в массиве.
174          </td>
175        </tr>
176        <tr>
177          <td valign="top" width="30%">
178            prototype
179          </td>
180          <td width="70%">
181            Позволяет добавлять свойства к экземплярам объекта Ar
>ray. 
182          </td>
183        </tr>
184      </tbody>
185    </table>
186    <p>
187      &nbsp;
188    </p>
189    <h3 class="editable" id="_.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0.B
>D.D0.B8.D0.B5_.D0.BC.D0.B0.D1.81.D1.81.D0.B8.D0.B2.D0.BE.D0.B2_(C 
>reated_by)_"> 
190      <span>Создание массивов (Created by)</span>
191    </h3>
192    <div class="editIcon">
193      <h3 class="editable" id="_.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0
>.BD.D0.B8.D0.B5_.D0.BC.D0.B0.D1.81.D1.81.D0.B8.D0.B2.D0.BE.D0.B2_ 
>(Created_by)_"> 
194        <a href="../../../../ru/Core_JavaScript_1.5_Reference/Glo
>bal_Objects/Array#" style="visibility: hidden;" title="Редактиров 
>ать секцию"><span class="icon"><img alt="Редактировать секцию" cl 
>ass="sectionedit" src="../../../../skins/common/icons/icon-trans. 
>gif"></span></a> 
195      </h3>
196    </div>
197    <p>
198      Для создания массивов используются следующие конструкторы м
>ассивов (The <code>Array</code> object constructor): 
199    </p>
200    <pre class="eval">
201new Array()
202new Array(<em>arrayLength</em>)
203new Array(<em>element0</em>, <em>element1</em>, ..., <em>elementN
></em>) 
204</pre>
205    <ul>
206      <li>
207        <em>arrayLength</em> - любое числовое выражение, задающее
> количество элементов в массиве (длину массива). Максимальная доп 
>устимая длина массива - 4,294,967,295; 
208      </li>
209      <li>
210        <em>element0</em>, <em>element1</em>, ..., <em>elementN</
>em> - список элементов множества, состоящий из любых выражений. 
211      </li>
212    </ul>
213    <blockquote>
214      Первый конструктор создает пустой массив, второй - массив и
>з <em>arrayLength</em> элементов, третий создает массив из N+1 эл 
>ементов и присваивает им соответствующие значения. Если <em>array 
>Length</em> не является числом без знака, то создается массив с е 
>динственным элементом, имеющим это значение. 
215    </blockquote>
216    <p>
217      <br>
218      Кроме того, массив может быть создан с помощью инициализато
>ра массива (создание массива в литеральной нотации): 
219    </p>
220    <pre class="eval">
221[<em>element0</em>, <em>element1</em>, ..., <em>elementN</em>]
222</pre>
223    <p>
224      Можно неявно увеличить размер массива, присвоив значение эл
>ементу с несуществующим индексом, например: 
225    </p>
226    <pre class="eval">
227var colors = new Array(); // пустой массив
228colors[99] = "midnightblue"; // размер массива стал равен 100
229</pre>
230    <div id="section_3">
231      <h4 class="editable" id="_.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.D0
>.BD.D0.B8.D0.B5_.D0.BC.D0.B0.D1.81.D1.81.D0.B8.D0.B2.D0.B0_.D0.BF 
>.D0.BE_.D1.80.D0.B5.D0.B7.D1.83.D0.BB.D1.8C.D1.82.D0.B0.D1.82.D1. 
>83_.D1.81.D0.BE.D0.BF.D0.BE.D1.81.D1.82.D0.B0.D0.B2.D0.BB.D0.B5.D 
>0.BD.D0.B8.D1.8F_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B8_.D1.81_.D1. 
>80.D0.B5.D0.B3.D1.83.D0.BB.D1.8F.D1.80.D0.BD.D1.8B.D0.BC_.D0.B2.D 
>1.8B.D1.80.D0.B0.D0.B6.D0.B5.D0.BD.D0.B8.D0.B5.D0.BC_"> 
232        <span>Создание массива по результату сопоставления строки
> с регулярным выражением</span> 
233      </h4>
234      <div class="editIcon">
235        <h4 class="editable" id="_.D0.A1.D0.BE.D0.B7.D0.B4.D0.B0.
>D0.BD.D0.B8.D0.B5_.D0.BC.D0.B0.D1.81.D1.81.D0.B8.D0.B2.D0.B0_.D0. 
>BF.D0.BE_.D1.80.D0.B5.D0.B7.D1.83.D0.BB.D1.8C.D1.82.D0.B0.D1.82.D 
>1.83_.D1.81.D0.BE.D0.BF.D0.BE.D1.81.D1.82.D0.B0.D0.B2.D0.BB.D0.B5 
>.D0.BD.D0.B8.D1.8F_.D1.81.D1.82.D1.80.D0.BE.D0.BA.D0.B8_.D1.81_.D 
>1.80.D0.B5.D0.B3.D1.83.D0.BB.D1.8F.D1.80.D0.BD.D1.8B.D0.BC_.D0.B2 
>.D1.8B.D1.80.D0.B0.D0.B6.D0.B5.D0.BD.D0.B8.D0.B5.D0.BC_"> 
236          <a href="../../../../ru/Core_JavaScript_1.5_Reference/G
>lobal_Objects/Array#" style="visibility: hidden;" title="Редактир 
>овать секцию"><span class="icon"><img alt="Редактировать секцию"  
>class="sectionedit" src="../../../../skins/common/icons/icon-tran 
>s.gif"></span></a> 
237        </h4>
238      </div>
239      <p>
240        Функции сопоставления строки с регулярным выражением (Reg
>Exp.exec, String.match и String.replace) в качестве результата во 
>звращают массив (результирующий массив). Этот массив имеет элемен 
>ты и свойства, которые содержат информацию о результате сопоставл 
>ения.Такой массив, помимо стандартных свойств, обладает дополните 
>льными свойствами index и input. 
241      </p>
242      <p>
243        Рассмотрим пример:
244      </p>
245      <pre class="eval">
246//Совпадает один символ d, с последующим одним или более b, с пос
>ледующим одним d 
247// Сохранить совпавшие подстроки (b+)и(d)в элементах результирующ
>его массива  
248// Игнорировать регистр
249 
250var myRe = /d(b+)(d)/i;
251var myArray = myRe.exec("cdbBdbsbz");
252</pre>
253      <p>
254        В таблице показан результат работы скрипта:
255      </p>
256      <table class="fullwidth-table">
257        <tbody>
258          <tr>
259            <td class="header">
260              Свойство/Элемент
261            </td>
262            <td class="header">
263              Описание
264            </td>
265            <td class="header">
266              Значение
267            </td>
268          </tr>
269          <tr>
270            <td>
271              <code>input</code>
272            </td>
273            <td>
274              Значением свойства является последняя исходная стро
>ка, к которой применялось сопоставление с образцом. 
275            </td>
276            <td>
277              cdbBdbsbz
278            </td>
279          </tr>
280          <tr>
281            <td>
282              <code>index</code>
283            </td>
284            <td>
285              Значением свойства является индекс совпадений в стр
>оке с базой 0. 
286            </td>
287            <td>
288              1
289            </td>
290          </tr>
291          <tr>
292            <td>
293              <code>[0]</code>
294            </td>
295            <td>
296              Последние совпавшие символы.
297            </td>
298            <td>
299              dbBd
300            </td>
301          </tr>
302          <tr>
303            <td>
304              <code>[1], ...[n]</code>
305            </td>
306            <td>
307              Совпадения подстрок в скобках, если имеются. Количе
>ство подстрок в скобках не ограничивается.. 
308            </td>
309            <td>
310              [1]: bB<br>
311              [2]: d
312            </td>
313          </tr>
314        </tbody>
315      </table>
316    </div>
317    <div id="section_4">
318      <h3 class="editable" id="_Properties_">
319        <span>Properties</span>
320      </h3>
321      <div class="editIcon">
322        <h3 class="editable" id="_Properties_">
323          <a href="../../../../ru/Core_JavaScript_1.5_Reference/G
>lobal_Objects/Array#" style="visibility: hidden;" title="Редактир 
>овать секцию"><span class="icon"><img alt="Редактировать секцию"  
>class="sectionedit" src="../../../../skins/common/icons/icon-tran 
>s.gif"></span></a> 
324        </h3>
325      </div>
326      <dl>
327        <dd>
328          <dl>
329            <dt>
330              <a class="new" href="../../../../ru/Core_JavaScript
>_1.5_Reference/Global_Objects/Array/constructor" rel="internal">c 
>onstructor</a> 
331            </dt>
332            <dd>
333              Specifies the function that creates an object's pro
>totype. 
334            </dd>
335            <dt>
336              <a class="new" href="../../../../ru/Core_JavaScript
>_1.5_Reference/Global_Objects/Array/index" rel="internal">index</ 
>a> 
337            </dt>
338            <dd>
339              For an array created by a regular expression match,
> the zero-based index of the match in the string. 
340            </dd>
341            <dt>
342              <a class="new" href="../../../../ru/Core_JavaScript
>_1.5_Reference/Global_Objects/Array/input" rel="internal">input</ 
>a> 
343            </dt>
344            <dd>
345              For an array created by a regular expression match,
> reflects the original string against which the regular expressio 
>n was matched. 
346            </dd>
347            <dt>
348              <a class="new" href="../../../../ru/Core_JavaScript
>_1.5_Reference/Global_Objects/Array/length" rel="internal">length 
></a> 
349            </dt>
350            <dd>
351              Reflects the number of elements in an array.
352            </dd>
353            <dt>
354              <a class="new" href="../../../../ru/Core_JavaScript
>_1.5_Reference/Global_Objects/Array/prototype" rel="internal">pro 
>totype</a> 
355            </dt>
356            <dd>
357              Allows the addition of properties to all objects.
358            </dd>
359          </dl>
360        </dd>
361      </dl>
362    </div>
363    <div id="section_5">
364      <h3 class="editable" id="_Methods_">
365        <span>Methods</span>
366      </h3>
367      <div class="editIcon">
368        <h3 class="editable" id="_Methods_">
369          <a href="../../../../ru/Core_JavaScript_1.5_Reference/G
>lobal_Objects/Array#" style="visibility: hidden;" title="Редактир 
>овать секцию"><span class="icon"><img alt="Редактировать секцию"  
>class="sectionedit" src="../../../../skins/common/icons/icon-tran 
>s.gif"></span></a> 
370        </h3>
371      </div>
372      <div id="section_6">
373        <h4 class="editable" id="_Mutator_methods_">
374          <span>Mutator methods</span>
375        </h4>
376        <div class="editIcon">
377          <h4 class="editable" id="_Mutator_methods_">
378            <a href="../../../../ru/Core_JavaScript_1.5_Reference
>/Global_Objects/Array#" style="visibility: hidden;" title="Редакт 
>ировать секцию"><span class="icon"><img alt="Редактировать секцию 
>" class="sectionedit" src="../../../../skins/common/icons/icon-tr 
>ans.gif"></span></a> 
379          </h4>
380        </div>
381        <p>
382          These methods modify the array:
383        </p>
384        <dl>
385          <dd>
386            <dl>
387              <dt>
388                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/pop" rel="internal">pop</a> 
389              </dt>
390              <dd>
391                Removes the last element from an array and return
>s that element. 
392              </dd>
393              <dt>
394                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/push" rel="internal">push</ 
>a> 
395              </dt>
396              <dd>
397                Adds one or more elements to the end of an array 
>and returns the new length of the array. 
398              </dd>
399              <dt>
400                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/reverse" rel="internal">rev 
>erse</a> 
401              </dt>
402              <dd>
403                Reverses the order of the elements of an array --
> the first becomes the last, and the last becomes the first. 
404              </dd>
405              <dt>
406                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/shift" rel="internal">shift 
></a> 
407              </dt>
408              <dd>
409                Removes the first element from an array and retur
>ns that element. 
410              </dd>
411              <dt>
412                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/sort" rel="internal">sort</ 
>a> 
413              </dt>
414              <dd>
415                Sorts the elements of an array.
416              </dd>
417              <dt>
418                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/splice" rel="internal">spli 
>ce</a> 
419              </dt>
420              <dd>
421                Adds and/or removes elements from an array.
422              </dd>
423              <dt>
424                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/unshift" rel="internal">uns 
>hift</a> 
425              </dt>
426              <dd>
427                Adds one or more elements to the front of an arra
>y and returns the new length of the array. 
428              </dd>
429            </dl>
430          </dd>
431        </dl>
432      </div>
433      <div id="section_7">
434        <h4 class="editable" id="_Accessor_methods_">
435          <span>Accessor methods</span>
436        </h4>
437        <div class="editIcon">
438          <h4 class="editable" id="_Accessor_methods_">
439            <a href="../../../../ru/Core_JavaScript_1.5_Reference
>/Global_Objects/Array#" style="visibility: hidden;" title="Редакт 
>ировать секцию"><span class="icon"><img alt="Редактировать секцию 
>" class="sectionedit" src="../../../../skins/common/icons/icon-tr 
>ans.gif"></span></a> 
440          </h4>
441        </div>
442        <p>
443          &nbsp;
444        </p>
445        <p>
446          These methods do not modify the array and return some r
>epresentation of the array. 
447        </p>
448        <dl>
449          <dd>
450            <dl>
451              <dt>
452                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/concat" rel="internal">conc 
>at</a> 
453              </dt>
454              <dd>
455                Returns a new array comprised of this array joine
>d with other array(s) and/or value(s). 
456              </dd>
457              <dt>
458                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/join" rel="internal">join</ 
>a> 
459              </dt>
460              <dd>
461                Joins all elements of an array into a string.
462              </dd>
463              <dt>
464                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/slice" rel="internal">slice 
></a> 
465              </dt>
466              <dd>
467                Extracts a section of an array and returns a new 
>array. 
468              </dd>
469              <dt>
470                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/toSource" rel="internal">to 
>Source</a> 
471              </dt>
472              <dd>
473                Returns an array literal representing the specifi
>ed array; you can use this value to create a new array. Overrides 
> the Object.toSource method. 
474              </dd>
475              <dt>
476                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/toString" rel="internal">to 
>String</a> 
477              </dt>
478              <dd>
479                Returns a string representing the array and its e
>lements. Overrides the <a class="new" href="../../../../ru/Core_J 
>avaScript_1.5_Reference/Global_Objects/Object/toString" rel="inte 
>rnal">Object.toString</a> method. 
480              </dd>
481              <dt>
482                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/valueOf" rel="internal">val 
>ueOf</a> 
483              </dt>
484              <dd>
485                Returns the primitive value of the array. Overrid
>es the <a class="new" href="../../../../ru/Core_JavaScript_1.5_Re 
>ference/Global_Objects/Object/valueOf" rel="internal">Object.valu 
>eOf</a> method. 
486              </dd>
487            </dl>
488          </dd>
489        </dl>
490        <div class="note">
491          The following methods have been introduced in JavaScrip
>t 1.6. See <a class="new" href="../../../../ru/New_in_JavaScript_ 
>1.6" rel="internal">New in JavaScript 1.6</a> for more informatio 
>n. 
492        </div>
493        <dl>
494          <dd>
495            <dl>
496              <dt>
497                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/indexOf" rel="internal">ind 
>exOf</a> 
498              </dt>
499              <dd>
500                Returns the first (least) index of an element wit
>hin the array equal to the specified value, or -1 if none is foun 
>d. 
501              </dd>
502              <dt>
503                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/lastIndexOf" rel="internal" 
>>lastIndexOf</a> 
504              </dt>
505              <dd>
506                Returns the last (greatest) index of an element w
>ithin the array equal to the specified value, or -1 if none is fo 
>und. 
507              </dd>
508            </dl>
509          </dd>
510        </dl>
511      </div>
512      <div id="section_8">
513        <h4 class="editable" id="_Iteration_methods_">
514          <span>Iteration methods</span>
515        </h4>
516        <div class="editIcon">
517          <h4 class="editable" id="_Iteration_methods_">
518            <a href="../../../../ru/Core_JavaScript_1.5_Reference
>/Global_Objects/Array#" title="Редактировать секцию"><span class= 
>"icon"><img alt="Редактировать секцию" class="sectionedit" src=". 
>./../../../skins/common/icons/icon-trans.gif"></span></a> 
519          </h4>
520        </div>
521        <div class="note">
522          These methods were introduced in JavaScript 1.6. See <a
> class="new" href="../../../../ru/New_in_JavaScript_1.6" rel="int 
>ernal">New in JavaScript 1.6</a> for more information. 
523        </div>
524        <p>
525          Several methods take as arguments functions to be calle
>d back while processing the array. When these methods are called, 
> the <code>length</code> of the array is sampled, and any element 
> added beyond this length from within the callback is not visited 
>. Other changes to the array (setting the value of or deleting an 
> element) may affect the results of the operation if the method v 
>isits the changed element afterwards. The specific behaviour of t 
>hese methods in such cases is not always well-defined, and should 
> not be relied upon. 
526        </p>
527        <dl>
528          <dd>
529            <dl>
530              <dt>
531                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/filter" rel="internal">filt 
>er</a> 
532              </dt>
533              <dd>
534                Creates a new array with all of the elements of t
>his array for which the provided filtering function returns true. 
535              </dd>
536              <dt>
537                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/forEach" rel="internal">for 
>Each</a> 
538              </dt>
539              <dd>
540                Calls a function for each element in the array.
541              </dd>
542              <dt>
543                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/every" rel="internal">every 
></a> 
544              </dt>
545              <dd>
546                Returns true if every element in this array satis
>fies the provided testing function. 
547              </dd>
548              <dt>
549                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/map" rel="internal">map</a> 
550              </dt>
551              <dd>
552                Creates a new array with the results of calling a
> provided function on every element in this array. 
553              </dd>
554              <dt>
555                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Global_Objects/Array/some" rel="internal">some</ 
>a> 
556              </dt>
557              <dd>
558                Returns true if at least one element in this arra
>y satisfies the provided testing function. 
559              </dd>
560            </dl>
561          </dd>
562        </dl>
563        <div class="note">
564          The following methods were introduced in JavaScript 1.8
>. See <a class="new" href="../../../../ru/New_in_JavaScript_1.8"  
>rel="internal">New in JavaScript 1.8</a> for more information. 
565        </div>
566        <dl>
567          <dd>
568            <dl>
569              <dt>
570                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Objects/Array/reduce" rel="internal">reduce</a> 
571              </dt>
572              <dd>
573                Apply a function simultaneously against two value
>s of the array (from left-to-right) as to reduce it to a single v 
>alue. 
574              </dd>
575              <dt>
576                <a class="new" href="../../../../ru/Core_JavaScri
>pt_1.5_Reference/Objects/Array/reduceRight" rel="internal">reduce 
>Right</a> 
577              </dt>
578              <dd>
579                Apply a function simultaneously against two value
>s of the array (from right-to-left) as to reduce it to a single v 
>alue. 
580              </dd>
581            </dl>
582          </dd>
583        </dl>
584      </div>
585      <div id="section_9">
586        <h4 class="editable" id="_Generic_methods_">
587          <span>Generic methods</span>
588        </h4>
589        <div class="editIcon">
590          <h4 class="editable" id="_Generic_methods_">
591            <a href="../../../../ru/Core_JavaScript_1.5_Reference
>/Global_Objects/Array#" title="Редактировать секцию"><span class= 
>"icon"><img alt="Редактировать секцию" class="sectionedit" src=". 
>./../../../skins/common/icons/icon-trans.gif"></span></a> 
592          </h4>
593        </div>
594        <p>
595          Many methods on the JavaScript Array object are designe
>d to be generally applied to all objects which "look like" Arrays 
>. That is, they can be used on any object which has a <code>lengt 
>h</code> property, and which can usefully be accessed using numer 
>ic property names (as with <code>array[5]</code> indexing). 
596        </p>
597        <p>
598          TODO: give examples with Array.prototype.forEach.call, 
>and adding the method to an object like <a class="new" href="../. 
>./../../ru/Core_JavaScript_1.5_Reference/Global_Objects/JavaArray 
>" rel="internal">JavaArray</a> or <a class="new" href="../../../. 
>./ru/Core_JavaScript_1.5_Reference/Global_Objects/String" rel="in 
>ternal">String</a>. 
599        </p>
600        <p>
601          Some methods, such as <a class="new" href="../../../../
>ru/Core_JavaScript_1.5_Reference/Global_Objects/Array/join" rel=" 
>internal">join</a>, only read the <code>length</code> and numeric 
> properties of the object they are called on. Others, like <a cla 
>ss="new" href="../../../../ru/Core_JavaScript_1.5_Reference/Globa 
>l_Objects/Array/reverse" rel="internal">reverse</a>, require that 
> the object's numeric properties and <code>length</code> be mutab 
>le; these methods can therefore not be called on objects like <a  
>class="new" href="../../../../ru/Core_JavaScript_1.5_Reference/Gl 
>obal_Objects/String" rel="internal">String</a>, which does not pe 
>rmit its <code>length</code> property or synthesized numeric prop 
>erties to be set. 
602        </p>
603        <p>
604          The methods that work on any Array-like object and do <
>strong>not</strong> need to alter <code>length</code> or numeric  
>properties are: 
605        </p>
606        <ul>
607          <li>
608            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/concat" rel="internal">concat</ 
>a> 
609          </li>
610          <li>
611            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/every" rel="internal">every</a> 
> (JS 1.6+) 
612          </li>
613          <li>
614            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/filter" rel="internal">filter</ 
>a> (JS 1.6+) 
615          </li>
616          <li>
617            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/forEach" rel="internal">forEach 
></a> (JS 1.6+) 
618          </li>
619          <li>
620            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/indexOf" rel="internal">indexOf 
></a> (JS 1.6+) 
621          </li>
622          <li>
623            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/join" rel="internal">join</a> 
624          </li>
625          <li>
626            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/lastIndexOf" rel="internal">las 
>tIndexOf</a> (JS 1.6+) 
627          </li>
628          <li>
629            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/map" rel="internal">map</a> (JS 
> 1.6+) 
630          </li>
631          <li>
632            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/slice" rel="internal">slice</a> 
633          </li>
634          <li>
635            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/some" rel="internal">some</a> ( 
>JS 1.6+) 
636          </li>
637          <li>
638            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/toSource" rel="internal">toSour 
>ce</a> 
639          </li>
640          <li>
641            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/toString" rel="internal">toStri 
>ng</a> 
642          </li>
643          <li>
644            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/valueOf" rel="internal">valueOf 
></a> 
645          </li>
646        </ul>
647        <p>
648          The methods that alter the <code>length</code> or numer
>ic properties of the object they are called on are: 
649        </p>
650        <ul>
651          <li>
652            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/pop" rel="internal">pop</a> 
653          </li>
654          <li>
655            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/push" rel="internal">push</a> 
656          </li>
657          <li>
658            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/reverse" rel="internal">reverse 
></a> 
659          </li>
660          <li>
661            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/shift" rel="internal">shift</a> 
662          </li>
663          <li>
664            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/sort" rel="internal">sort</a> 
665          </li>
666          <li>
667            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/splice" rel="internal">splice</ 
>a> 
668          </li>
669          <li>
670            <a class="new" href="../../../../ru/Core_JavaScript_1
>.5_Reference/Global_Objects/Array/unshift" rel="internal">unshift 
></a> 
671          </li>
672        </ul>
673        <p>
674          This example shows how to use <a class="new" href="../.
>./../../ru/Core_JavaScript_1.5_Reference/Global_Objects/Array/map 
>" rel="internal">map</a> on a <a class="new" href="../../../../ru 
>/Core_JavaScript_1.5_Reference/Global_Objects/String" rel="intern 
>al">string</a> object to get an array of bytes in the ASCII encod 
>ing representing the character values: 
675        </p>
676        <pre>
677var a = Array.prototype.map.call("Hello World", 
678                                 function(x) { return x.charCodeA
>t(0); }) 
679// a now equals [72,101,108,108,111,32,87,111,114,108,100]
680</pre>
681      </div>
682    </div>
683    <div id="section_10">
684      <h3 class="editable" id="_Examples_">
685        <span>Examples</span>
686      </h3>
687      <div class="editIcon">
688        <h3 class="editable" id="_Examples_">
689          <a href="../../../../ru/Core_JavaScript_1.5_Reference/G
>lobal_Objects/Array#" style="visibility: hidden;" title="Редактир 
>овать секцию"><span class="icon"><img alt="Редактировать секцию"  
>class="sectionedit" src="../../../../skins/common/icons/icon-tran 
>s.gif"></span></a> 
690        </h3>
691      </div>
692      <div id="section_11">
693        <h4 class="editable" id="_Example:_Creating_an_Array_">
694          <span>Example: Creating an Array</span>
695        </h4>
696        <div class="editIcon">
697          <h4 class="editable" id="_Example:_Creating_an_Array_">
698            <a href="../../../../ru/Core_JavaScript_1.5_Reference
>/Global_Objects/Array#" style="visibility: hidden;" title="Редакт 
>ировать секцию"><span class="icon"><img alt="Редактировать секцию 
>" class="sectionedit" src="../../../../skins/common/icons/icon-tr 
>ans.gif"></span></a> 
699          </h4>
700        </div>
701        <p>
702          The following example creates an array, <code>msgArray<
>/code>, with a length of 0, then assigns values to <code>msgArray 
>[0]</code> and <code>msgArray[99]</code>, changing the length of  
>the array to 100. 
703        </p>
704        <pre class="eval">
705var msgArray = new Array();
706msgArray[0] = "Hello";
707msgArray[99] = "world";
708// The following statement is true,
709// because defined msgArray[99] element.
710if (msgArray.length == 100)
711   myVar = "The length is 100.";
712</pre>
713      </div>
714      <div id="section_12">
715        <h4 class="editable" id="_Example:_Creating_a_Two-dimensi
>onal_Array_"> 
716          <span>Example: Creating a Two-dimensional Array</span>
717        </h4>
718        <div class="editIcon">
719          <h4 class="editable" id="_Example:_Creating_a_Two-dimen
>sional_Array_"> 
720            <a href="../../../../ru/Core_JavaScript_1.5_Reference
>/Global_Objects/Array#" title="Редактировать секцию"><span class= 
>"icon"><img alt="Редактировать секцию" class="sectionedit" src=". 
>./../../../skins/common/icons/icon-trans.gif"></span></a> 
721          </h4>
722        </div>
723        <p>
724          The following creates chess board as a two dimensional 
>array of strings. The first move is made by copying the 'P' in 1, 
>4 to 3,4. The position 1,4 is left blank. 
725        </p>
726        <pre class="eval">
727var board = 
728[ ['R','N','B','Q','K','B','N','R'],
729  ['P','P','P','P','P','P','P','P'],
730  [' ',' ',' ',' ',' ',' ',' ',' '],
731  [' ',' ',' ',' ',' ',' ',' ',' '],
732  [' ',' ',' ',' ',' ',' ',' ',' '],
733  [' ',' ',' ',' ',' ',' ',' ',' '],
734  ['p','p','p','p','p','p','p','p'],
735  ['r','n','b','q','k','b','n','r']];
736print(board.join('\n'));
737print('\n\n\n');
738 
739// Move King's Pawn forward 2
740board[3][4] = board[1][4];
741board[1][4] = ' ';
742print(board.join('\n'));
743</pre>
744        <p>
745          Here is the output:
746        </p>
747        <pre class="eval">
748R,N,B,Q,K,B,N,R
749P,P,P,P,P,P,P,P
750 , , , , , , , 
751 , , , , , , , 
752 , , , , , , , 
753 , , , , , , , 
754p,p,p,p,p,p,p,p
755r,n,b,q,k,b,n,r
756 
757 
758R,N,B,Q,K,B,N,R
759P,P,P,P, ,P,P,P
760 , , , , , , , 
761 , , , ,P, , , 
762 , , , , , , , 
763 , , , , , , , 
764p,p,p,p,p,p,p,p
765r,n,b,q,k,b,n,r
766</pre>
767        <p>
768          <br>
769          --<a class="link-user new" href="../../../../User:Georg
>eOld" rel="internal">George Begun</a> 05:18, 27 октября 2007 (PDT 
>) 
770        </p>
771      </div>
772    </div>

Back to History