Menu
CoddyTech

Array-Slicing

Teil des Abschnitts Grundlagen der GDScript-Journey von Coddy. Lektion 73 von 92.

Die Methode slice() gibt ein neues Array mit einem Teil der Elemente zurück. slice(begin, end) nimmt die Elemente ab Index begin bis, aber nicht einschließlich, Index end:

var numbers := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers.slice(2, 6))
[2, 3, 4, 5]

Ohne end reicht der Slice bis zum Ende des Arrays:

print(numbers.slice(5))
[5, 6, 7, 8, 9]

Negative Indizes zählen vom Ende aus. slice(-3) gibt die letzten drei Elemente zurück, und slice(0, -2) alles außer den letzten beiden:

print(numbers.slice(-3))
print(numbers.slice(0, -2))
[7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7]

Ein drittes Argument, der Schritt, nimmt jedes n-te Element. slice(1, 8, 2) nimmt die Indizes 1, 3, 5 und 7:

print(numbers.slice(1, 8, 2))
[1, 3, 5, 7]

slice() verändert das ursprüngliche Array nicht: numbers enthält weiterhin alle zehn Elemente.

challenge icon

Aufgabe

Einfach

Das Programm liest eine durch Kommas getrennte Zeile mit Elementen in das Array items ein (bereits geschrieben). Gib den mittleren Teil des Arrays mit slice() aus:

  • Wenn die Anzahl der Elemente ungerade ist, gib das mittlere Element und je ein Element auf jeder Seite aus (3 Elemente; bei einem einzelnen Element gib dieses Element aus)
  • Wenn sie gerade ist, gib die beiden mittleren Elemente aus

Für apple,banana,orange,grape lautet die Ausgabe ["banana", "orange"], und für a,b,c,d,e lautet sie ["b", "c", "d"].

Probier es selbst

extends Node

func _ready():
	var items := OS.read_string_from_stdin().split(",")
	# Gib die mittleren Elemente aus
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-GDScript-Compiler