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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
---
title: Array.prototype.concat()
slug: Web/JavaScript/Reference/Global_Objects/Array/concat
translation_of: Web/JavaScript/Reference/Global_Objects/Array/concat
---
<div>{{JSRef("Global_Objects", "Array")}}</div>
<h2 id="Summary" name="Summary">Sumário</h2>
<p>O método concat() retorna um novo array contendo todos os arrays ou valores passados como parâmetro</p>
<h2 id="Syntax" name="Syntax">Sintaxe</h2>
<pre class="syntaxbox"><code><em>arr</em>.concat(<em>valor1</em>, <em>valor2</em>, ..., <em>valorN</em>)</code></pre>
<h3 id="Parameters" name="Parameters">Parâmetros</h3>
<dl>
<dt><font face="Courier New, Andale Mono, monospace"><span style="line-height: normal;">valorN</span></font></dt>
<dd>Arrays ou valores para concatenar (unir) ao array retornado.</dd>
</dl>
<h2 id="Description" name="Description">Descrição</h2>
<p><strong>concat </strong>cria um novo array unindo todos os elementos que foram passados como parâmetro, na ordem dada, para cada argumento e seus elementos (se o elemento passado for um array).</p>
<p><strong>concat </strong>não altera a si mesmo ou a qualquer um dos argumentos passados, apenas providencia um novo array contendo uma cópia de si mesmo e dos argumentos passados. Os elementos copiados são:</p>
<ul>
<li>Referência aos objetos (e não o objeto): concat copia a referência aos objetos para o novo array. Tanto o original quanto a cópia apontam para o mesmo objeto. Ou seja, se o objeto foi modificado, tais mudanças serão visíveis no objeto original e no array.</li>
</ul>
<ul>
<li>Strings e numbers (diferente dos objetos {{jsxref("Global_Objects/String", "String")}} e {{jsxref("Global_Objects/Number", "Number")}}): <code>concat</code> copia os valores de strings e numbers para o novo array. Qualquer alteração no novo array não refletirá no original, e vice versa.</li>
</ul>
<h2 id="Examples" name="Examples">Exemplos</h2>
<h3 id="Example:_Concatenating_two_arrays" name="Example:_Concatenating_two_arrays">Exemplo: Concatenando dois arrays</h3>
<p>O código a seguir une dois arrays:</p>
<pre class="brush: js">var alpha = ["a", "b", "c"];
var numeric = [1, 2, 3];
// creates array ["a", "b", "c", 1, 2, 3]; alpha and numeric are unchanged
var alphaNumeric = alpha.concat(numeric);
</pre>
<h3 id="Example:_Concatenating_three_arrays" name="Example:_Concatenating_three_arrays">Exemplo: Concatenando três arrays</h3>
<p>O código a seguir une três arrays:</p>
<pre class="brush: js">var num1 = [1, 2, 3];
var num2 = [4, 5, 6];
var num3 = [7, 8, 9];
// creates array [1, 2, 3, 4, 5, 6, 7, 8, 9]; num1, num2, num3 are unchanged
var nums = num1.concat(num2, num3);
</pre>
<h3 id="Example:_Concatenating_values_to_an_array" name="Example:_Concatenating_values_to_an_array">Exemplo: Concatenando valores ao array</h3>
<p>O código a seguir une três valores ao array</p>
<pre class="brush: js">var alpha = ['a', 'b', 'c'];
// creates array ["a", "b", "c", 1, 2, 3], leaving alpha unchanged
var alphaNumeric = alpha.concat(1, [2, 3]);
</pre>
<h2 id="Especificação">Especificação</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">Specification</th>
<th scope="col">Status</th>
<th scope="col">Comment</th>
</tr>
<tr>
<td>ECMAScript 3rd Edition</td>
<td>Standard</td>
<td>Initial definition.<br>
Implemented in JavaScript 1.2</td>
</tr>
<tr>
<td>{{SpecName('ES5.1', '#sec-15.4.4.4', 'Array.prototype.concat')}}</td>
<td>{{Spec2('ES5.1')}}</td>
<td> </td>
</tr>
<tr>
<td>{{SpecName('ES6', '#sec-array.prototype.concat', 'Array.prototype.concat')}}</td>
<td>{{Spec2('ES6')}}</td>
<td> </td>
</tr>
</tbody>
</table>
<h2 id="Compatibilidade_em_navegadores">Compatibilidade em navegadores</h2>
<div>{{CompatibilityTable}}</div>
<div id="compat-desktop">
<table class="compat-table">
<tbody>
<tr>
<th>Feature</th>
<th>Chrome</th>
<th>Firefox (Gecko)</th>
<th>Internet Explorer</th>
<th>Opera</th>
<th>Safari</th>
</tr>
<tr>
<td>Basic support</td>
<td>1.0</td>
<td>{{CompatGeckoDesktop("1.7")}}</td>
<td>5.5</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</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>Firefox Mobile (Gecko)</th>
<th>IE Mobile</th>
<th>Opera Mobile</th>
<th>Safari Mobile</th>
</tr>
<tr>
<td>Basic support</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
</tr>
</tbody>
</table>
</div>
<h2 id="See_also" name="See_also">Veja também</h2>
<ul>
<li>{{jsxref("Array.push", "push")}} / {{jsxref("Array.pop", "pop")}} - add/remove elements from the end of the array;</li>
<li>{{jsxref("Array.unshift", "unshift")}} / {{jsxref("Array.shift", "shift")}} - add/remove elements from the beginning of the array;</li>
<li>{{jsxref("Array.splice", "splice")}} - add/remove elements from the specified location of the array.</li>
<li>{{jsxref("String.prototype.concat")}}</li>
</ul>
|