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ă.
copyWithinsuprascrie; pentru inserare foloseștesplice.
Comenzi înrudite
Array.prototype.fill: Umple tabloul (sau o parte din el) cu aceeași valoare.Array.prototype.splice: Șterge, înlocuiește sau inserează elemente oriunde în tablou, modificând tabloul.TypedArray.prototype.set / subarray: set copiază valori într-un typed array; subarray creează o vedere asupra unei bucăți, fără copiere.