Slice-Array von N bis zum letzten Element

Lesezeit: 2 Minuten

Wie macht man diese Transformation?

["a","b","c","d","e"] // => ["c", "d", "e"]

ich denke das slice kann das, aber..

["a","b","c","d","e"].slice(2,-1) // [ 'c', 'd' ]
["a","b","c","d","e"].slice(2,0)  // []

Verwenden Sie nicht das zweite Argument:

Array.slice(2);

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/slice

Wenn end weggelassen wird, wird Slice bis zum Ende der Sequenz extrahiert.

  • ok… aber was ist, wenn ich nicht vorhersagen kann, ob das Ende des Slice definiert wird oder nicht. In Python haben wir str[start:None] zu Ende schneiden. Wie kann ich es äquivalent auf Javascript tun?

    – Jota

    31. März 2016 um 9:09 Uhr

  • @yota Wenn Sie die Länge des Arrays kennen, können Sie dies als zweites Argument übergeben: arr.slice(2, arr.length). Wenn das zweite Argument die Arraylänge überschreitet, wird es trotzdem zurückgegeben begin bis zum Ende der Sequenz. Wenn das bei Ihnen nicht funktioniert, benötigen Sie eine if-Anweisung.

    – Tim S.

    3. April 2016 um 21:55 Uhr

  • lmao war das einfach

    – Merunas Grincalaitis

    7. Oktober 2018 um 16:30 Uhr

Benutzeravatar von Connor Goddard
Connor Godard

Eine wichtige Überlegung in Bezug auf die Antwort von @insomniac ist dies splice und slice sind zwei ganz andere Funktionenmit dem Hauptunterschied:

  • splice manipuliert das ursprüngliche Array.
  • slice gibt eine Teilmenge des ursprünglichen Arrays zurück, wobei das ursprüngliche Array unberührt bleibt.

Sehen: http://ariya.ofilabs.com/2014/02/javascript-array-slice-vs-splice.html für mehr Informationen.

Geben Sie einfach den Startindex an, wie Sie die restlichen Daten aus dem Array wünschen.

["a","b","c","d","e"].splice(2) => ["c", "d", "e"]

  • Die Frage bezog sich auf Slice, nicht auf Splice

    – David Casanellas

    17. Dezember 2019 um 13:11 Uhr

Benutzeravatar von Sekhar552
Sekhar552

["a","b","c","d","e"].slice(-3) => ["c","d","e"]

Sie müssen ein “-” vor n einfügen. Wenn der Index negativ ist, gibt das Ende einen Offset vom Ende an.

function getTail(arr, n) {
return arr.slice(-n);
}

  • Dies gibt den letzten zurück n Einträge, aber nicht von Eintrag n bis zum Ende.

    – Friedrich

    9. Juli 2020 um 11:48 Uhr

Benutzeravatar von Nisse Engström
Nisse Engström

Slice endet am angegebenen Endargument, schließt es aber nicht ein. Wenn Sie es einschließen möchten, müssen Sie den letzten Index als Länge des Arrays (in diesem Fall 5) angeben, im Gegensatz zum Endindex (-1) usw.

["a","b","c","d","e"].slice(2,5) 
// = ['c','d','e']

  • Dies gibt den letzten zurück n Einträge, aber nicht von Eintrag n bis zum Ende.

    – Friedrich

    9. Juli 2020 um 11:48 Uhr

Benutzeravatar von Alok Ranjan
Alok Ranjan

var arr = ["a", "b", "c", "d", "e"];
arr.splice(0,2);
console.log(arr);

Bitte verwenden Sie den obigen Code. Vielleicht brauchst du das.

  • Die Frage bezog sich auf Slice, nicht auf Splice

    – David Casanellas

    17. Dezember 2019 um 13:11 Uhr

1404900cookie-checkSlice-Array von N bis zum letzten Element

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy