--- title: Array.prototype.unshift() slug: Web/JavaScript/Reference/Global_Objects/Array/unshift translation_of: Web/JavaScript/Reference/Global_Objects/Array/unshift ---
{{JSRef}}
Il metodo unshift() aggiunge uno o più elementi all'inizio di un array e restitusce la nuova lunghezza dell'array stesso.
 
{{EmbedInteractiveExample("pages/js/array-unshift.html")}}

Sintassi

arr.unshift(element1[, ...[, elementN]])

Parameters

elementN
Gli elementi da aggiungere all'inizio dell'array.

Return value

La nuova proprietà {{jsxref("Array.length", "length")}} dell'oggetto su cui è stato chiamato il metodo.

Descrizione

Il metodo unshift inserisce i valori passati come parametri all'inizio di un oggetto array-like.

unshift è instenzionalmente generico; questo metodo può essere {{jsxref("Function.call", "chiamato", "", 1)}} o {{jsxref("Function.apply", "applicato", "", 1)}} su oggetti che assomigliano ad un array. Oggetti che non contengono una proprietà length che rifletta l'ultimo di una serie di consecutive proprietà numeriche zero-based potrebbero non comportarsi in alcun modo significativo.

Esempi

var arr = [1, 2];

arr.unshift(0); // result of call is 3, the new array length
// arr is [0, 1, 2]

arr.unshift(-2, -1); // = 5
// arr is [-2, -1, 0, 1, 2]

arr.unshift([-3]);
// arr is [[-3], -2, -1, 0, 1, 2]

Specifications

Specification Status Comment
{{SpecName('ES3')}} {{Spec2('ES3')}} Initial definition. Implemented in JavaScript 1.2.
{{SpecName('ES5.1', '#sec-15.4.4.13', 'Array.prototype.unshift')}} {{Spec2('ES5.1')}}  
{{SpecName('ES6', '#sec-array.prototype.unshift', 'Array.prototype.unshift')}} {{Spec2('ES6')}}  
{{SpecName('ESDraft', '#sec-array.prototype.unshift', 'Array.prototype.unshift')}} {{Spec2('ESDraft')}}  

Browser compatibility

{{Compat("javascript.builtins.Array.unshift")}}

See also