diff options
Diffstat (limited to 'files/it/web/javascript/reference/global_objects/array/push')
-rw-r--r-- | files/it/web/javascript/reference/global_objects/array/push/index.html | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/files/it/web/javascript/reference/global_objects/array/push/index.html b/files/it/web/javascript/reference/global_objects/array/push/index.html deleted file mode 100644 index ad34c3da2d..0000000000 --- a/files/it/web/javascript/reference/global_objects/array/push/index.html +++ /dev/null @@ -1,142 +0,0 @@ ---- -title: Array.prototype.push() -slug: Web/JavaScript/Reference/Global_Objects/Array/push -translation_of: Web/JavaScript/Reference/Global_Objects/Array/push ---- -<div>{{JSRef}}</div> - -<p>Il metodo <code><strong>push()</strong></code> aggiunge uno o più elementi alla fine di un array e ne restituisce la nuova lunghezza.</p> - -<pre class="brush: js notranslate">var numbers = [1, 2, 3]; -numbers.push(4); - -console.log(numbers); // [1, 2, 3, 4] - -numbers.push(5, 6, 7); - -console.log(numbers); // [1, 2, 3, 4, 5, 6, 7] -</pre> - -<h2 id="Sintassi">Sintassi</h2> - -<pre class="syntaxbox notranslate"><var>arr</var>.push([<var>elemento1</var>[, ...[, <var>elementoN</var>]]])</pre> - -<h3 id="Parametri">Parametri</h3> - -<dl> - <dt><code>elemento<em>N</em></code></dt> - <dd>Gli elementi da aggiungere alla fine dell'array.</dd> -</dl> - -<h3 id="Valore_di_ritorno">Valore di ritorno</h3> - -<p>La nuova proprietà {{jsxref("Array.length", "length")}} dell'oggetto su cui è stato richiamato il metodo.</p> - -<h2 id="Descrizione">Descrizione</h2> - -<p>Il metodo <code>push</code> aggiunge valori all'array.</p> - -<p><code>push</code> è intenzionalmente generico. Questo metodo può essere utilizzato con {{jsxref("Function.call", "call()")}} o {{jsxref("Function.apply", "apply()")}} su oggetti che assomigliano a un array. Il metodo<code>push</code> si basa sulla proprietà <code>length</code> per determinare da dove iniziare l'inserimento dei valori indicati. Se la proprietà <code>length</code> non può essere convertita in un numero, l'indice utilizzato è 0. Ciò include la possibilità che <code>length</code> sia inesistente, in tale caso <code>length</code> verrà creata.</p> - -<p>Gli unici oggetti nativi simili agli array sono {{jsxref("Global_Objects/String", "strings", "", 1)}}, anche se non adatti alle applicazioni di questo metodo, in quanto le stringhe sono immutabili.</p> - -<h2 id="Esempi">Esempi</h2> - -<h3 id="Aggiungere_elementi_a_un_array">Aggiungere elementi a un array</h3> - -<p>Il seguente codice crea l'array <code>sports</code> che contiene due elementi, poi aggiunge ulteriori due elementi allo stesso. La variabile <code>total</code> contiene la nuova lunghezza dell'array.</p> - -<pre class="brush: js notranslate">var sports = ['calcio', 'baseball']; -var total = sports.push('football americano', 'nuoto'); - -console.log(sports); // ['calcio', 'baseball', 'football americano', 'nuoto'] -console.log(total); // 4 -</pre> - -<h3 id="Unire_due_arrays">Unire due arrays</h3> - -<p>Questo esempio utilizza {{jsxref("Function.apply", "apply()")}} per aggiungere tutti gli elementi da un secondo array.</p> - -<p><em>Non</em> utilizzare questo metodo se il secondo array (<code>moreVegs</code> in questo esempio) è molto grande, perché il numero massimo di parametri che una funzione può assumere è limitato nella pratica. Vedere {{jsxref("Function.apply", "apply()")}} per ulteriori dettagli.</p> - -<pre class="brush: js notranslate">var vegetables = ['pastinaca', 'patata']; -var moreVegs = ['sedano', 'barbabietola']; - -// Unire il secondo array nel primo -// Equivalente a vegetables.push('sedano', 'barbabietola'); -Array.prototype.push.apply(vegetables, moreVegs); - -console.log(vegetables); // ['pastinaca', 'patata', 'sedano', 'barbabietola'] -</pre> - -<h3 id="Utilizzo_di_un_oggetto_come_un_array">Utilizzo di un oggetto come un array</h3> - -<p>Come accennato in precedenza, <code>push</code> è intenzionalmente generica e possiamo usarla a nostro vantaggio. <code>Array.prototype.push</code> può funzionare benissimo su un oggetto, come mostra questo esempio. Si noti che non creiamo un array per memorizzare la raccolta di oggetti. Al contrario, memorizziamo la raccolta sull'oggetto stesso e utilizziamo <code>call</code> su <code>Array.prototype.push</code> per ingannare il metodo e fargli pensare che siamo di fronte a un array, e funziona solo grazie al modo in cui JavaScript ci permette di stabilire il contesto di esecuzione come preferiamo.</p> - -<pre class="brush: js notranslate">var obj = { - length: 0, - - addElem: function addElem(elem) { - // obj.length viene automaticamente incrementato - // ogni volta che viene aggiunto un elemento. - [].push.call(this, elem); - } -}; - -// Aggiungiamo alcuni oggetti vuoti solo per illustrare. -obj.addElem({}); -obj.addElem({}); -console.log(obj.length); -// → 2 -</pre> - -<p>Si noti che anche se <code>obj</code> non è un array, il metodo <code>push</code> ha incrementato la proprietà di <code>length</code> di<code>obj</code> come se si trattasse di un array vero e proprio.</p> - -<h2 id="Specificazioni">Specificazioni</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Specificazione</th> - <th scope="col">Stato</th> - <th scope="col">Commento</th> - </tr> - <tr> - <td>{{SpecName('ES3')}}</td> - <td>{{Spec2('ES3')}}</td> - <td>Definizione iniziale. Implementato in JavaScript 1.2.</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.4.4.7', 'Array.prototype.push')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-array.prototype.push', 'Array.prototype.push')}}</td> - <td>{{Spec2('ES6')}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-array.prototype.push', 'Array.prototype.push')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td></td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilità_di_Browser">Compatibilità di Browser</h2> - -<div> -<div class="hidden">La tabella di compatibilità di questa pagina viene generata da dati strutturati. Se desideri contribuire ai dati, controlla <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> e invia una pull request.</div> - -<p>{{Compat("javascript.builtins.Array.push")}}</p> -</div> - -<h2 id="Guarda_anche">Guarda anche</h2> - -<ul> - <li>{{jsxref("Array.prototype.pop()")}}</li> - <li>{{jsxref("Array.prototype.shift()")}}</li> - <li>{{jsxref("Array.prototype.unshift()")}}</li> - <li>{{jsxref("Array.prototype.concat()")}}</li> -</ul> |