Visit Mozilla.org

Référence de JavaScript 1.5 Core:Objets globaux:Array:splice

Un article de MDC.


Sommaire

[modifier] Résumé

Modifie le contenu d'un tableau, en ajoutant de nouveaux éléments tout en en enlevant d'autres.

Méthode de Array
Implémentation : JavaScript 1.2, NES 3.0

JavaScript 1.3 : renvoie un tableau contenant les éléments retirés.

Version ECMA : ECMA-262 Edition 3

[modifier] Syntaxe

array.splice(indice, nombre, [element1][, ..., elementN]);
array.splice(indice, [nombre, [element1][, ..., elementN]]);  // extension SpiderMonkey

[modifier] Paramètres

indice 
Indice à partir duquel commencer à modifier le tableau.
nombre 
Un entier indiquant le nombre d'anciens éléments à retirer. Si nombre vaut 0, aucun élément n'est retiré. Dans ce cas, il faut spécifier au moins un nouvel élément. Si nombre n'est pas spécifié (seconde syntaxe ci-dessus, qui est une extension SpiderMonkey), tous les éléments après indice seront supprimés.
element1, ..., elementN 
Les éléments à ajouter au tableau. Si aucun élément n'est spécifié, splice retire simplement les éléments du tableau.

[modifier] Description

Si le nombre d'éléments à insérer est différent du nombre d'éléments à supprimer, le tableau aura une longueur différente après l'appel.

La méthode splice renvoie un tableau contenant les éléments retirés. Si un seul élément est retiré, il s'agira d'un tableau d'un élément.

[modifier] Compatibilité avec les versions antérieures

[modifier] JavaScript 1.2

La méthode splice renvoyait l'élément supprimé, si un seul élément était retiré (le paramètre nombre valait 1) ; dans les autres cas, la méthode renvoyait un tableau contenant les éléments supprimés.

[modifier] Exemples

[modifier] Exemple : utilisation de splice

Le script suivant illustre l'utilisation de splice :

// suppose qu'une fonction print a été définie
var mesPoissons = ["ange", "clown", "mandarin", "chirurgien"];
print("mesPoissons : " + mesPoissons);

var retiré = mesPoissons.splice(2, 0, "rouget");
print("Après ajout d'1 : " + mesPoissons);
print("Les éléments retirés sont : " + retiré);

retiré = mesPoissons.splice(3, 1);
print("Après retrait d'1: " + mesPoissons);
print("Les éléments retirés sont : " + retiré);

retiré = mesPoissons.splice(2, 1, "trumpet");
print("Après remplacement d'1 : " + mesPoissons);
print("Les éléments retirés sont : " + retiré);

retiré = mesPoissons.splice(0, 2, "perroquet", "anémone", "bleu");
print("Après remplacement de 2 : " + mesPoissons);
print("Les éléments retirés sont : " + retiré);

Ce script affiche :

mesPoissons : ange,clown,mandarin,chirurgien
Après ajout d'1 : ange,clown,rouget,mandarin,chirurgien
Les éléments retirés sont : 
After removing 1: ange,clown,rouget,chirurgien
Les éléments retirés sont : mandarin
After replacing 1: ange,clown,rouget,chirurgien
Les éléments retirés sont : rouget
After replacing 2: perroquet,anémone,bleu,trompette,chirurgien
Les éléments retirés sont : ange,clown