A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/copyWithin below:

Array.prototype.copyWithin() - JavaScript | MDN

Array.prototype.copyWithin()

Baseline Widely available

Die copyWithin() Methode von Array Instanzen kopiert flach einen Teil dieses Arrays an eine andere Stelle im selben Array und gibt dieses Array zurück, ohne seine Länge zu ändern.

Probieren Sie es aus
const array = ["a", "b", "c", "d", "e"];

// Copy to index 0 the element at index 3
console.log(array.copyWithin(0, 3, 4));
// Expected output: Array ["d", "b", "c", "d", "e"]

// Copy to index 1 all elements from index 3 to the end
console.log(array.copyWithin(1, 3));
// Expected output: Array ["d", "d", "e", "d", "e"]
Syntax
copyWithin(target, start)
copyWithin(target, start, end)
Parameter
target

Nullbasierter Index, an dem die Sequenz hingekopiert werden soll, in eine ganze Zahl umgewandelt. Dies entspricht der Stelle, an die das Element bei start kopiert wird, und alle Elemente zwischen start und end werden an aufsteigende Indizes kopiert.

start

Nullbasierter Index, ab dem Elemente kopiert werden, in eine ganze Zahl umgewandelt.

end Optional

Nullbasierter Index, an dem das Kopieren der Elemente endet, in eine ganze Zahl umgewandelt. copyWithin() kopiert bis zu, aber nicht einschließlich end.

Rückgabewert

Das modifizierte Array.

Beschreibung

Die copyWithin() Methode arbeitet wie memmove in C und C++ und ist eine leistungsstarke Methode, um die Daten eines Array zu verschieben. Dies gilt insbesondere für die TypedArray Methode mit demselben Namen. Die Sequenz wird in einem Vorgang kopiert und eingefügt; die eingefügte Sequenz wird die kopierten Werte haben, selbst wenn sich die Kopier- und Einfügebereiche überlappen.

Da undefined bei der Umwandlung in eine ganze Zahl zu 0 wird, hat das Weglassen des start Parameters denselben Effekt wie das Übergeben von 0, was das gesamte Array an die Zielposition kopiert, entsprechend einem Rechtsverschieben, wobei die rechte Grenze abgeschnitten und die linke Grenze dupliziert wird. Dieses Verhalten kann Leser Ihres Codes verwirren, daher sollten Sie 0 ausdrücklich als start übergeben.

console.log([1, 2, 3, 4, 5].copyWithin(2));
// [1, 2, 1, 2, 3]; move all elements to the right by 2 positions

Die copyWithin() Methode ist eine mutierende Methode. Sie verändert nicht die Länge von this, aber sie ändert den Inhalt von this und erstellt bei Bedarf neue Eigenschaften oder löscht vorhandene Eigenschaften.

Die copyWithin() Methode bewahrt leere Plätze. Wenn der zu kopierende Bereich spärlich ist, werden die entsprechenden neuen Indizes der leeren Plätze gelöscht und ebenfalls zu leeren Plätzen.

Die copyWithin() Methode ist generisch. Sie erwartet nur, dass der this Wert eine length Eigenschaft und integer-gekürzte Eigenschaften besitzt. Obwohl Zeichenfolgen ebenfalls array-ähnlich sind, eignet sich diese Methode nicht dafür, auf sie angewendet zu werden, da Zeichenfolgen unveränderlich sind.

Beispiele Verwendung von copyWithin()
console.log([1, 2, 3, 4, 5].copyWithin(0, 3));
// [4, 5, 3, 4, 5]

console.log([1, 2, 3, 4, 5].copyWithin(0, 3, 4));
// [4, 2, 3, 4, 5]

console.log([1, 2, 3, 4, 5].copyWithin(-2, -3, -1));
// [1, 2, 3, 3, 4]
Verwendung von copyWithin() auf spärlichen Arrays

copyWithin() wird leere Plätze propagieren.

console.log([1, , 3].copyWithin(2, 1, 2)); // [1, empty, empty]
Aufruf von copyWithin() auf Nicht-Array-Objekten

Die copyWithin() Methode liest die length Eigenschaft von this und bearbeitet dann die beteiligten integer-Indices.

const arrayLike = {
  length: 5,
  3: 1,
};
console.log(Array.prototype.copyWithin.call(arrayLike, 0, 3));
// { '0': 1, '3': 1, length: 5 }
console.log(Array.prototype.copyWithin.call(arrayLike, 3, 1));
// { '0': 1, length: 5 }
// The '3' property is deleted because the copied source is an empty slot
Spezifikationen Browser-Kompatibilität Siehe auch

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4