--- title: Array.prototype.splice() slug: Web/JavaScript/Reference/Global_Objects/Array/splice tags: - Array - JavaScript - Méthode - Prototype - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Array/splice original_slug: Web/JavaScript/Reference/Objets_globaux/Array/splice ---
La méthode splice()
modifie le contenu d'un tableau en retirant des éléments et/ou en ajoutant de nouveaux éléments à même le tableau.On peut ainsi vider ou remplacer une partie d'un 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 !
var tabElementsSupprimes = array.splice(début, nbASupprimer[, élem1[, élem2[, ...]]])
début
0
).array.length
, début
est ramené à la longueur du tableau array.length
.array.length + début
. Si array.length + début
est inférieur à 0
, le changement commencera à l'index 0
.nbASupprimer
array.length - début
, alors les éléments entre début
et la fin du tableau seront supprimés.nbASupprimer
vaut 0, aucun élément ne sera supprimé. Dans ce cas, il est nécessaire de spécifier au moins un nouvel élément.élemN
début
. Si vous ne spécifiez pas de nouvel élément, les anciens éléments seront simplement supprimés du tableau.Un tableau contenant les éléments supprimés. Si un seul élément est supprimé, un tableau contenant un unique élément est retourné.
Si vous spécifiez un nombre différent d'éléments à insérer et d'éléments à supprimer, le tableau aura une longueur différente après l'appel de la méthode.
splice
Le script suivant illustre l'utilisation de splice
:
var mesPoissons = ["scalaire", "clown", "mandarin", "chirurgien"]; // supprime 0 élément à partir de l'index 2, et insère "tambour" var enleves = mesPoissons.splice(2, 0, "tambour"); // mesPoissons est ["scalaire", "clown", "tambour", "mandarin", "chirurgien"] // enleves est [], aucun élément supprimé // supprime 1 élément à partir de l'index 3 enleves = mesPoissons.splice(3, 1); // mesPoissons est ["scalaire", "clown", "tambour", "chirurgien"] // enleves est ["mandarin"] // supprime 1 élément à partir de l'index 2, et insère "trompette" enleves = mesPoissons.splice(2, 1, "trompette"); // mesPoissons est ["scalaire", "clown", "trompette", "chirurgien"] // enleves est ["tambour"] // supprime 2 éléments à partir de l'index 0, et insère "perroquet", "anémone" et"bleu" enleves = mesPoissons.splice(0, 2, "perroquet", "anémone", "bleu"); // mesPoissons est ["perroquet", "anémone", "bleu", "trompette", "chirurgien"] // enleves est ["scalaire", "clown"] // supprime 2 éléments à partir de l'indice 2 enleves = mesPoissons.splice(mesPoissons.length - 3, 2); // mesPoissons est ["perroquet", "anémone", "chirurgien"] // enleves est ["bleu", "trompette"] var mesPoissons = ["perroquet", "anémone", "bleu", "trompette", "chirurgien"]; // on retire trois éléments à partir de l'indice 2 enleves = mesPoissons.splice(2); // mesPoissons vaut ["perroquet", "anémone"] // enleves vaut ["bleu", "trompette", "chirurgien"] var mesAnimaux = ["cheval", "chien", "chat", "dauphin"]; enleves = mesAnimaux.splice(-2, 1); // mesAnimaux vaut ["cheval", "chien", "dauphin"] // enleves vaut ["chat"]
Spécification | État | Commentaires |
---|---|---|
{{SpecName('ESDraft', '#sec-array.prototype.splice', 'Array.prototype.splice')}} | {{Spec2('ESDraft')}} | |
{{SpecName('ES6', '#sec-array.prototype.splice', 'Array.prototype.splice')}} | {{Spec2('ES6')}} | |
{{SpecName('ES5.1', '#sec-15.4.4.12', 'Array.prototype.splice')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES3')}} | {{Spec2('ES3')}} | Définition initiale. Implémentée avec JavaScript 1.2. |
{{Compat("javascript.builtins.Array.splice")}}