Array.prototype.copyWithin în JavaScript

Tablouri (array) ES2015 (ES6)

Copiază o bucată din tablou peste altă poziție din același tablou, fără să schimbe lungimea.

Sintaxă
tablou.copyWithin(tinta, inceput, sfarsit)

Ce face Array.prototype.copyWithin

copyWithin ia elementele dintre inceput și sfarsit (exclus) și le scrie începând de la poziția tinta, peste elementele existente. Tabloul este modificat pe loc și returnat.

Lungimea nu se schimbă: ce ar depăși sfârșitul tabloului este ignorat. Metoda este folosită mai ales cu typed arrays, pentru mutarea rapidă a datelor binare.

Parametri

Parametru Descriere
tinta Poziția unde se scrie copia.
inceput Poziția de unde începe copierea.
sfarsit Opțional. Poziția unde se oprește copierea (exclusă).

Ce returnează

Același tablou, modificat.

Exemple

Exemplul 1: Copierea în același tablou

console.log([1, 2, 3, 4, 5].copyWithin(0, 3));
console.log([1, 2, 3, 4, 5].copyWithin(1, 0, 2));
console.log(["a", "b", "c", "d"].copyWithin(-1, 0));

Rezultat

[ 4, 5, 3, 4, 5 ]
[ 1, 1, 2, 4, 5 ]
[ 'a', 'b', 'c', 'a' ]

Greșeli frecvente

  • Te aștepți ca tabloul să crească. copyWithin suprascrie; pentru inserare folosește splice.

Comenzi înrudite