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 septembre 2015.
La méthode copyWithin() des instances de Array copie superficiellement une partie de ce tableau à un autre emplacement dans le même tableau et retourne ce tableau sans en modifier la longueur.
L'indice (à partir de zéro) auquel copier la séquence, converti en entier. Cela correspond à l'emplacement où l'élément à l'indice start sera copié, et tous les éléments compris entre start et end seront copiés aux indices suivants.
L'indice (à partir de zéro) à partir duquel commencer à copier les éléments, converti en entier.
L'indice (à partir de zéro) auquel arrêter de copier les éléments, converti en entier. copyWithin() copie jusqu'à (mais sans inclure) end.
Le tableau modifié.
La méthode copyWithin() fonctionne comme memmove en C et C++ ; c'est une méthode très performante pour décaler les données d'un tableau (Array). Cela s'applique en particulier à la méthode TypedArray du même nom. La séquence est copiée et collée en une seule opération ; la séquence collée aura les valeurs copiées même si les zones de copie et de collage se chevauchent.
Comme undefined devient 0 lorsqu'il est converti en entier, omettre le paramètre start a le même effet que de passer 0, ce qui copie tout le tableau à la position cible, équivalent à un décalage vers la droite où la borne droite est tronquée et la borne gauche est dupliquée. Ce comportement peut prêter à confusion pour les lecteurs·rices de votre code ; il est donc préférable de passer explicitement 0 comme valeur de start.
La méthode copyWithin() est une méthode de mutation. Elle ne modifie pas la longueur de this, mais elle modifie le contenu de this et peut créer de nouvelles propriétés ou supprimer des propriétés existantes si nécessaire.
La méthode copyWithin() préserve les cases vides. Si la région à copier est creuxe, les nouveaux indices correspondants des cases vides sont supprimés et deviennent aussi des cases vides.
La méthode copyWithin() est générique. Elle attend seulement que la valeur de this possède une propriété length et des propriétés à clés entières. Bien que les chaînes de caractères soient aussi similaires à des tableaux, cette méthode n'est pas adaptée pour être appliquée sur elles, car les chaînes sont immuables.
copyWithin() propage les cases vides.
La méthode copyWithin() lit la propriété length de this puis manipule les indices entiers concernés.
| ECMAScript® 2027 Language Specification # sec-array.prototype.copywithin |
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Cette page a été modifiée le 6 nov. 2025 par les contributeur·ice·s du MDN.
Votre modèle pour un internet meilleur.
Visitez la société mère à but non lucratif de Mozilla Corporation, la Fondation Mozilla.
Certaines parties de ce contenu sont protégées par le droit d'auteur ©1998—2026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.