HTML: Markup language
CSS: Styling language
JavaScript: Scripting language
Web APIs: Programming interfaces
All web technology
Learn web development
Discover our tools
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.
View in English Always switch to English
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2023.
La méthode with() des instances de Array est la version sans mutations de l'utilisation de la notation entre crochets pour modifier la valeur à un indice donné. Elle retourne un nouveau tableau dans lequel l'élément à l'indice donné est remplacé par la valeur fournie.
with()
Array
arrayInstance.with(index, value)
index
Indice (à partir de zéro) à modifier dans le tableau, converti en entier.
-array.length <= index < 0
index + array.length
RangeError
value
Toute valeur à affecter à l'indice donné.
Un nouveau tableau dans lequel l'élément à index est remplacé par value.
Levée si index >= array.length ou index < -array.length.
index >= array.length
index < -array.length
La méthode with() modifie la valeur à un indice donné dans le tableau, en retournant un nouveau tableau dans lequel l'élément à cet indice est remplacé par la valeur fournie. Le tableau d'origine n'est pas modifié. Cela permet d'enchaîner les méthodes de tableau lors des manipulations.
En combinant with() avec at(), vous pouvez lire et écrire (respectivement) dans un tableau en utilisant des indices négatifs.
at()
La méthode with() ne produit jamais de tableau creux. Si le tableau source est creux, les cases vides seront remplacées par undefined dans le nouveau tableau.
undefined
La méthode with() est générique. Elle attend seulement que la valeur de this possède une propriété length et des propriétés à indices entiers.
this
length
const arr = [1, 2, 3, 4, 5]; console.log(arr.with(2, 6)); // [1, 2, 6, 4, 5] console.log(arr); // [1, 2, 3, 4, 5]
Avec la méthode with(), vous pouvez mettre à jour un élément d'un tableau puis appliquer d'autres méthodes de tableau.
const arr = [1, 2, 3, 4, 5]; console.log(arr.with(2, 6).map((x) => x ** 2)); // [1, 4, 36, 16, 25]
La méthode with() crée toujours un tableau dense.
const arr = [1, , 3, 4, , 6]; console.log(arr.with(0, 2)); // [2, undefined, 3, 4, undefined, 6]
La méthode with() crée et retourne un nouveau tableau. Elle lit la propriété length de this puis accède à chaque propriété dont la clé est un entier non négatif inférieur à length. À chaque accès, l'élément du tableau à l'indice correspondant est défini à la valeur de la propriété. Enfin, la valeur à index est définie à value.
const objetSimilaireTableau = { length: 3, unrelated: "foo", 0: 5, 2: 4, 3: 3, // ignoré par with() car length vaut 3 }; console.log(Array.prototype.with.call(objetSimilaireTableau, 0, 1)); // [ 1, undefined, 4 ]
Activez JavaScript pour afficher ce tableau de compatibilité des navigateurs.
Array.prototype.toReversed()
Array.prototype.toSorted()
Array.prototype.toSpliced()
Array.prototype.at()
TypedArray.prototype.with()
Array.prototype.with
core-js