| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/splice | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Juli 2015 browserbergreifend verfgbar.
Die splice() Methode von Array Instanzen ndert den Inhalt eines Arrays, indem sie bestehende Elemente entfernt oder ersetzt und/oder neue Elemente in-place hinzufgt.
Um ein neues Array mit einem entfernten und/oder ersetzten Segment zu erstellen, ohne das ursprngliche Array zu verndern, verwenden Sie toSpliced(). Um auf einen Teil eines Arrays zuzugreifen, ohne es zu verndern, siehe slice().
const months = ["Jan", "March", "April", "June"];
months.splice(1, 0, "Feb");
// Inserts at index 1
console.log(months);
// Expected output: Array ["Jan", "Feb", "March", "April", "June"]
months.splice(4, 1, "May");
// Replaces 1 element at index 4
console.log(months);
// Expected output: Array ["Jan", "Feb", "March", "April", "May"]
splice(start)
splice(start, deleteCount)
splice(start, deleteCount, item1)
splice(start, deleteCount, item1, item2)
splice(start, deleteCount, item1, item2, /* , */ itemN)
startDer nullbasierte Index, an dem das Array zu ndern beginnt, umgewandelt in eine Ganzzahl.
-array.length <= start < 0, wird start + array.length verwendet.start < -array.length, wird 0 verwendet.start >= array.length, wird kein Element gelscht, aber die Methode verhlt sich wie eine Hinzufgemethode und fgt so viele Elemente hinzu, wie bereitgestellt werden.start ausgelassen wird (und splice() ohne Argumente aufgerufen wird), wird nichts gelscht. Dies unterscheidet sich davon, undefined zu bergeben, das in 0 konvertiert wird.deleteCount OptionalEine Ganzzahl, die die Anzahl der Elemente im Array angibt, die ab start entfernt werden sollen.
Wenn deleteCount weggelassen wird oder sein Wert grer oder gleich der Anzahl der Elemente nach der durch start angegebenen Position ist, werden alle Elemente von start bis zum Ende des Arrays gelscht. Wenn Sie jedoch einen itemN-Parameter bergeben mchten, sollten Sie Infinity als deleteCount bergeben, um alle Elemente nach start zu lschen, da ein explizites undefined konvertiert zu 0 wird.
Wenn deleteCount 0 oder negativ ist, werden keine Elemente entfernt. In diesem Fall sollten Sie mindestens ein neues Element angeben (siehe unten).
item1, , itemN OptionalDie Elemente, die dem Array ab start hinzugefgt werden sollen.
Wenn Sie keine Elemente angeben, wird splice() nur Elemente aus dem Array entfernen.
Ein Array, das die gelschten Elemente enthlt.
Wenn nur ein Element entfernt wird, wird ein Array mit einem Element zurckgegeben.
Wenn keine Elemente entfernt werden, wird ein leeres Array zurckgegeben.
Die splice() Methode ist eine verndernde Methode. Sie kann den Inhalt von this ndern. Wenn die Anzahl der zu einzufgenden Elemente von der Anzahl der zu entfernenden Elemente abweicht, wird die length des Arrays ebenfalls verndert. Gleichzeitig verwendet es [Symbol.species], um eine neue Array-Instanz zu erstellen, die zurckgegeben wird.
Wenn der gelschte Teil sprlich ist, ist das von splice() zurckgegebene Array ebenfalls sprlich und weist an den entsprechenden Indizes leere Slots auf.
Die splice() Methode ist generisch. Sie erwartet lediglich, dass der this Wert eine length Eigenschaft und ganzzahlig indizierte Eigenschaften besitzt. Obwohl Strings ebenfalls array-hnlich sind, eignet sich diese Methode nicht fr Strings, da sie unvernderlich sind.
const myFish = ["angel", "clown", "mandarin", "sturgeon"];
const removed = myFish.splice(2, 0, "drum");
// myFish is ["angel", "clown", "drum", "mandarin", "sturgeon"]
// removed is [], no elements removed
const myFish = ["angel", "clown", "mandarin", "sturgeon"];
const removed = myFish.splice(2, 0, "drum", "guitar");
// myFish is ["angel", "clown", "drum", "guitar", "mandarin", "sturgeon"]
// removed is [], no elements removed
splice(0, 0, ...elements) fgt Elemente am Anfang des Arrays hinzu wie unshift().
const myFish = ["clown", "mandarin", "sturgeon"];
const removed = myFish.splice(0, 0, "angel");
// myFish is ["angel", "clown", "mandarin", "sturgeon"]
// no items removed
splice(array.length, 0, ...elements) fgt Elemente am Ende des Arrays hinzu wie push().
const myFish = ["angel", "clown", "mandarin"];
const removed = myFish.splice(myFish.length, 0, "sturgeon");
// myFish is ["angel", "clown", "mandarin", "sturgeon"]
// no items removed
const myFish = ["angel", "clown", "drum", "mandarin", "sturgeon"];
const removed = myFish.splice(3, 1);
// myFish is ["angel", "clown", "drum", "sturgeon"]
// removed is ["mandarin"]
const myFish = ["angel", "clown", "drum", "sturgeon"];
const removed = myFish.splice(2, 1, "trumpet");
// myFish is ["angel", "clown", "trumpet", "sturgeon"]
// removed is ["drum"]
const myFish = ["angel", "clown", "trumpet", "sturgeon"];
const removed = myFish.splice(0, 2, "parrot", "anemone", "blue");
// myFish is ["parrot", "anemone", "blue", "trumpet", "sturgeon"]
// removed is ["angel", "clown"]
const myFish = ["parrot", "anemone", "blue", "trumpet", "sturgeon"];
const removed = myFish.splice(2, 2);
// myFish is ["parrot", "anemone", "sturgeon"]
// removed is ["blue", "trumpet"]
const myFish = ["angel", "clown", "mandarin", "sturgeon"];
const removed = myFish.splice(-2, 1);
// myFish is ["angel", "clown", "sturgeon"]
// removed is ["mandarin"]
const myFish = ["angel", "clown", "mandarin", "sturgeon"];
const removed = myFish.splice(2);
// myFish is ["angel", "clown"]
// removed is ["mandarin", "sturgeon"]
Die splice() Methode bewahrt die Sparsamkeit des Arrays.
const arr = [1, , 3, 4, , 6];
console.log(arr.splice(1, 2)); // [empty, 3]
console.log(arr); // [1, 4, empty, 6]
Die splice() Methode liest die length Eigenschaft von this. Sie aktualisiert dann die ganzzahlig indizierten Eigenschaften und die length Eigenschaft nach Bedarf.
const arrayLike = {
length: 3,
unrelated: "foo",
0: 5,
2: 4,
};
console.log(Array.prototype.splice.call(arrayLike, 0, 1, 2, 3));
// [ 5 ]
console.log(arrayLike);
// { '0': 2, '1': 3, '3': 4, length: 4, unrelated: 'foo' }
| Spezifikation |
|---|
| ECMAScript 2027 LanguageSpecification # sec-array.prototype.splice |
ArrayArray.prototype.concat()Array.prototype.push()Array.prototype.pop()Array.prototype.shift()Array.prototype.slice()Array.prototype.toSpliced()Array.prototype.unshift()Arrayat()concat()copyWithin()entries()every()fill()filter()find()findIndex()findLast()findLastIndex()flat()flatMap()forEach()includes()indexOf()join()keys()lastIndexOf()map()pop()push()reduce()reduceRight()reverse()shift()slice()some()sort()splice()toLocaleString()toReversed()toSorted()toSpliced()toString()unshift()values()with()[Symbol.iterator]()Object/FunctionDer Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |