--- title: Array.prototype.unshift() slug: Web/JavaScript/Reference/Objets_globaux/Array/unshift tags: - Array - JavaScript - Méthode - Prototype - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Array/unshift ---
La méthode unshift()
ajoute un ou plusieurs éléments au début d'un tableau et renvoie la nouvelle longueur du tableau.
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
arr.unshift([élém1[, ...[, élémN]]])
élémN
La nouvelle valeur de la propriété {{jsxref("Array.length", "length")}} du tableau sur lequel a été appelée la méthode.
La méthode unshift()
insère les valeurs renseignées au début d'un objet ressemblant à un tableau.
unshift()
est volontairement générique ; cette méthode peut être {{jsxref("Function.call", "appelée","",1)}} ou {{jsxref("Function.apply", "appliquée","",1)}} sur des objets ressemblant à des tableaux. Les objets qui ne contiennent pas une propriété length
reflètant la fin d'une série de propriétés indexées numériquement pourront ne pas avoir un comportement cohérent avec cette méthode.
Attention, lorsqu'on utilise unshift()
avec plusieurs arguments, ceux-ci sont insérés au début du tableau dans l'ordre selon lequel ils sont passés en arguments. Aussi, on n'obtiendra pas le même résultat en appelant unshift()
n fois avec 1 arguments ou en appelant unshift()
avec n arguments.
let arr = [4, 5, 6]; arr.unshift(1, 2, 3); console.table(arr); // [1, 2, 3, 4, 5, 6] let arr2 = [4, 5, 6]; arr2.unshift(1); arr2.unshift(2); arr2.unshift(3); console.table(arr2); // [3, 2, 1, 4, 5, 6]
var arr = [1, 2]; arr.unshift(0); // renvoie 3, la nouvelle longueur du tableau // arr est [0, 1, 2] arr.unshift(-2, -1); // = 5 // arr est [-2, -1, 0, 1, 2] arr.unshift( [-3] ); // 6 // arr est [[-3], -2, -1, 0, 1, 2] arr.unshift([-7, -6], [-5]); // 8 // arr est [[-7, -6], [-5], [-3], -2, -1, 0, 1, 2]
Spécification | État | Commentaires |
---|---|---|
{{SpecName('ES3')}} | {{Spec2('ES3')}} | Définition initiale. Implémentée avec 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')}} |
{{Compat("javascript.builtins.Array.unshift")}}