Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Eingebaute Standardobjekte
  5. Array
  6. with()

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

Array.prototype.with()

Baseline 2023
Newly available

Since ⁨July 2023⁩, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Diewith()-Methode vonArray-Instanzen ist diekopierende Version der Verwendung derKlammernotation, um den Wert eines gegebenen Index zu ändern. Sie gibt ein neues Array zurück, bei dem das Element am gegebenen Index durch den angegebenen Wert ersetzt wird.

Syntax

js
arrayInstance.with(index, value)

Parameter

index

Nullbasierter Index, an dem das Array geändert wird,umgewandelt zu einer Ganzzahl.

  • Ein negativer Index zählt rückwärts vom Ende des Arrays — wenn-array.length <= index < 0, wirdindex + array.length verwendet.
  • Wenn der Index nach der Normalisierung außerhalb der Grenzen liegt, wird einRangeError ausgelöst.
value

Jeder Wert, der dem angegebenen Index zugewiesen werden soll.

Rückgabewert

Ein neues Array mit dem Element anindex, das durchvalue ersetzt wurde.

Ausnahmen

RangeError

Ausgelöst, wennindex >= array.length oderindex < -array.length.

Beschreibung

Diewith()-Methode ändert den Wert eines angegebenen Index im Array und gibt ein neues Array zurück, bei dem das Element am gegebenen Index durch den angegebenen Wert ersetzt wird. Das ursprüngliche Array wird nicht verändert. Dies ermöglicht es Ihnen, Array-Methoden zu verketten, während Sie Manipulationen vornehmen.

Durch die Kombination vonwith() mitat() können Sie ein Array sowohl mit negativen Indizes schreiben als auch lesen (beziehungsweise).

Diewith()-Methode erzeugt niemals einsparses Array. Wenn das Quell-Array sparse ist, werden die leeren Slots im neuen Array durchundefined ersetzt.

Diewith()-Methode istgenerisch. Sie erwartet lediglich, dass derthis-Wert einelength-Eigenschaft und ganzzahlig indizierte Eigenschaften besitzt.

Beispiele

Ein neues Array mit einem einzelnen geänderten Element erstellen

js
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]

Verkettung von Array-Methoden

Mit derwith()-Methode können Sie ein einzelnes Element in einem Array aktualisieren und dann andere Array-Methoden anwenden.

js
const arr = [1, 2, 3, 4, 5];console.log(arr.with(2, 6).map((x) => x ** 2)); // [1, 4, 36, 16, 25]

Verwendung von with() auf sparsen Arrays

Diewith()-Methode erstellt immer ein dichtes Array.

js
const arr = [1, , 3, 4, , 6];console.log(arr.with(0, 2)); // [2, undefined, 3, 4, undefined, 6]

Aufruf von with() auf Nicht-Array-Objekten

Diewith()-Methode erstellt und gibt ein neues Array zurück. Sie liest dielength-Eigenschaft vonthis und greift dann auf jede Eigenschaft zu, deren Schlüssel eine nicht negative ganze Zahl kleiner alslength ist. Während auf jede Eigenschaft vonthis zugegriffen wird, wird das Array-Element mit einem Index, der dem Schlüssel der Eigenschaft entspricht, auf den Wert der Eigenschaft gesetzt. Schließlich wird der Array-Wert beiindex aufvalue gesetzt.

js
const arrayLike = {  length: 3,  unrelated: "foo",  0: 5,  2: 4,  3: 3, // ignored by with() since length is 3};console.log(Array.prototype.with.call(arrayLike, 0, 1));// [ 1, undefined, 4 ]

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-array.prototype.with

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp