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
nombrevaut 0, aucun élément n'est retiré. Dans ce cas, il faut spécifier au moins un nouvel élément. Sinombren'est pas spécifié (seconde syntaxe ci-dessus, qui est une extension SpiderMonkey), tous les éléments aprèsindiceseront supprimés.
-
element1, ..., elementN - Les éléments à ajouter au tableau. Si aucun élément n'est spécifié,
spliceretire 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