| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/splice | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La mthode splice() des instances de Array modifie le contenu d'un tableau en supprimant ou remplaant des lments existants et/ou en ajoutant de nouveaux lments en place.
Pour crer un nouveau tableau avec un segment supprim et/ou remplac sans modifier le tableau d'origine, utilisez toSpliced(). Pour accder une partie d'un tableau sans le modifier, consultez slice().
const months = ["Jan", "Mars", "Avril", "Juin"];
months.splice(1, 0, "Fv");
// Insre l'indice 1
console.log(months);
// Rsultat attendu : Array ["Jan", "Fv", "Mars", "Avril", "Juin"]
months.splice(4, 1, "Mai");
// Remplace 1 lment l'indice 4
console.log(months);
// Rsultat attendu : Array ["Jan", "Fv", "Mars", "Avril", "Mai"]
splice(start)
splice(start, deleteCount)
splice(start, deleteCount, item1)
splice(start, deleteCount, item1, item2)
splice(start, deleteCount, item1, item2, /* , */ itemN)
startL'indice (commenant zro) partir duquel commencer modifier le tableau, converti en entier.
-array.length <= start < 0, on utilise start + array.length.start est infrieur -array.length, on utilise 0.start est suprieur ou gal array.length, aucun lment ne sera supprim, mais la mthode se comportera comme une fonction d'ajout, ajoutant autant d'lments que fourni.start est omis (et que splice() est appel sans argument), rien n'est supprim. Cela diffre du passage de undefined, qui est converti en 0.deleteCount FacultatifUn entier indiquant le nombre d'lments supprimer partir de l'indice start.
Si le paramtre deleteCount est omis, ou si sa valeur est suprieure ou gale au nombre d'lments aprs la position indique par l'indice start, alors tous les lments de l'indice start la fin du tableau seront supprims. Cependant, si vous souhaitez passer un paramtre itemN, vous devez passer Infinity comme valeur de deleteCount pour supprimer tous les lments aprs l'indice start, car un undefined explicite est converti en 0.
Si le paramtre deleteCount vaut 0 ou une valeur ngative, aucun lment n'est supprim.
Dans ce cas, vous devez spcifier au moins un nouvel lment (voir ci-dessous).
item1, , itemN FacultatifLes lments ajouter au tableau, partir de l'indice start.
Si vous ne spcifiez aucun lment, splice() ne fera que supprimer des lments du tableau.
Un tableau contenant les lments supprims.
Si un seul lment est supprim, un tableau contenant cet unique lment est retourn.
Si aucun lment n'est supprim, un tableau vide est retourn.
La mthode splice() est une mthode mutante. Elle peut modifier le contenu de this. Si le nombre d'lments insrer diffre du nombre d'lments supprims, la proprit length du tableau sera galement modifie. En mme temps, elle utilise [Symbol.species] pour crer une nouvelle instance de tableau retourner.
Si la portion supprime est un tableau creux, le tableau retourn par splice() sera galement creux, avec les indices correspondants vides.
La mthode splice() est gnrique. Elle attend seulement que la valeur de this possde une proprit length et des proprits cls entires. Bien que les chanes de caractres soient aussi assimilables des tableaux, cette mthode ne leur est pas adapte, car les chanes sont immuables.
const myFish = ["ange", "clown", "mandarin", "esturgeon"];
const removed = myFish.splice(2, 0, "tambour");
// myFish vaut ["angel", "clown", "tambour", "mandarin", "sturgeon"]
// removed vaut [], aucun lment supprim
const myFish = ["ange", "clown", "mandarin", "esturgeon"];
const removed = myFish.splice(2, 0, "tambour", "guitare");
// myFish vaut ["angel", "clown", "tambour", "guitare", "mandarin", "sturgeon"]
// removed vaut [], aucun lment supprim
splice(0, 0, ...lments) insre des lments au dbut du tableau comme unshift().
const myFish = ["clown", "mandarin", "esturgeon"];
const removed = myFish.splice(0, 0, "ange");
// myFish vaut ["angel", "clown", "mandarin", "sturgeon"]
// aucun lment supprim
splice(array.length, 0, ...lments) insre des lments la fin du tableau comme push().
const myFish = ["ange", "clown", "mandarin"];
const removed = myFish.splice(myFish.length, 0, "esturgeon");
// myFish vaut ["angel", "clown", "mandarin", "esturgeon"]
// aucun lment supprim
const myFish = ["ange", "clown", "tambour", "mandarin", "esturgeon"];
const removed = myFish.splice(3, 1);
// myFish vaut ["angel", "clown", "tambour", "esturgeon"]
// removed vaut ["mandarin"]
const myFish = ["ange", "clown", "tambour", "esturgeon"];
const removed = myFish.splice(2, 1, "trompette");
// myFish vaut ["angel", "clown", "trompette", "esturgeon"]
// removed vaut ["tambour"]
const myFish = ["ange", "clown", "trompette", "esturgeon"];
const removed = myFish.splice(0, 2, "perroquet", "anmone", "bleu");
// myFish vaut ["perroquet", "anmone", "bleu", "trompette", "esturgeon"]
// removed vaut ["angel", "clown"]
const myFish = ["perroquet", "anmone", "bleu", "trompette", "esturgeon"];
const removed = myFish.splice(2, 2);
// myFish vaut ["perroquet", "anmone", "esturgeon"]
// removed vaut ["bleu", "trompette"]
const myFish = ["ange", "clown", "mandarin", "esturgeon"];
const removed = myFish.splice(-2, 1);
// myFish vaut ["angel", "clown", "esturgeon"]
// removed vaut ["mandarin"]
const myFish = ["ange", "clown", "mandarin", "esturgeon"];
const removed = myFish.splice(2);
// myFish vaut ["angel", "clown"]
// removed vaut ["mandarin", "esturgeon"]
splice() sur des tableaux creuxLa mthode splice() prserve le caractre creux du tableau.
const arr = [1, , 3, 4, , 6];
console.log(arr.splice(1, 2)); // [empty, 3]
console.log(arr); // [1, 4, empty, 6]
splice() sur des objets qui ne sont pas des tableauxLa mthode splice() lit la proprit length de this. Elle met ensuite jour les proprits cls entires et la proprit length si ncessaire.
const objetSimilaireTableau = {
length: 3,
unrelated: "foo",
0: 5,
2: 4,
};
console.log(Array.prototype.splice.call(objetSimilaireTableau, 0, 1, 2, 3));
// [ 5 ]
console.log(objetSimilaireTableau);
// { '0': 2, '1': 3, '3': 4, length: 4, unrelated: 'foo' }
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-array.prototype.splice |
ArrayArray.prototype.concat()Array.prototype.push()Array.prototype.pop()Array.prototype.shift()Array.prototype.slice()Array.prototype.toSpliced()Array.prototype.unshift()Cette page a t modifie le 6 nov. 2025 par les contributeurices du MDN.
Arrayat()concat()copyWithin()entries()every()fill()filter()find()findIndex()findLast()findLastIndex()flat()flatMap()forEach()includes()indexOf()join()keys()lastIndexOf()map()pop()push()reduce()reduceRight()reverse()shift()slice()some()sort()splice()toLocaleString()toReversed()toSorted()toSpliced()toString()unshift()values()with()[Symbol.iterator]()Object/FunctionObject.prototype.__defineGetter__()Object.prototype.__defineSetter__()Object.prototype.__lookupGetter__()Object.prototype.__lookupSetter__()Object.prototype.hasOwnProperty()Object.prototype.isPrototypeOf()Object.prototype.propertyIsEnumerable()Object.prototype.toLocaleString()Object.prototype.toString()Object.prototype.valueOf()Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |