Baseline 2023
Newly available
Die with()
-Methode von Array
-Instanzen ist die kopierende Version der Verwendung der Klammernotation, 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.
arrayInstance.with(index, value)
Parameter
index
Nullbasierter Index, an dem das Array geändert wird, umgewandelt zu einer Ganzzahl.
-array.length <= index < 0
, wird index + array.length
verwendet.RangeError
ausgelöst.value
Jeder Wert, der dem angegebenen Index zugewiesen werden soll.
Ein neues Array mit dem Element an index
, das durch value
ersetzt wurde.
RangeError
Ausgelöst, wenn index >= array.length
oder index < -array.length
.
Die with()
-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 von with()
mit at()
können Sie ein Array sowohl mit negativen Indizes schreiben als auch lesen (beziehungsweise).
Die with()
-Methode erzeugt niemals ein sparses Array. Wenn das Quell-Array sparse ist, werden die leeren Slots im neuen Array durch undefined
ersetzt.
Die with()
-Methode ist generisch. Sie erwartet lediglich, dass der this
-Wert eine length
-Eigenschaft und ganzzahlig indizierte Eigenschaften besitzt.
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 der with()
-Methode können Sie ein einzelnes Element in einem Array aktualisieren und dann andere Array-Methoden anwenden.
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
Die with()
-Methode erstellt immer ein dichtes Array.
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
Die with()
-Methode erstellt und gibt ein neues Array zurück. Sie liest die length
-Eigenschaft von this
und greift dann auf jede Eigenschaft zu, deren Schlüssel eine nicht negative ganze Zahl kleiner als length
ist. Während auf jede Eigenschaft von this
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 bei index
auf value
gesetzt.
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 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