Cắt mảng
Thuộc phần Kiến thức nền tảng trong hành trình GDScript của Coddy. Bài học 73 trên 92.
Phương thức slice() trả về một mảng mới gồm một phần các phần tử. slice(begin, end) lấy các phần tử từ chỉ số begin đến trước chỉ số end:
var numbers := [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers.slice(2, 6))[2, 3, 4, 5]Nếu không có end, lát cắt kéo dài đến cuối mảng:
print(numbers.slice(5))[5, 6, 7, 8, 9]Chỉ số âm đếm từ cuối. slice(-3) lấy ba phần tử cuối cùng, còn slice(0, -2) lấy mọi phần tử trừ hai phần tử cuối cùng:
print(numbers.slice(-3))
print(numbers.slice(0, -2))[7, 8, 9]
[0, 1, 2, 3, 4, 5, 6, 7]Đối số thứ ba, bước nhảy, lấy phần tử thứ n. slice(1, 8, 2) lấy các chỉ số 1, 3, 5 và 7:
print(numbers.slice(1, 8, 2))[1, 3, 5, 7]slice() không thay đổi mảng ban đầu: numbers vẫn chứa đủ mười phần tử.
Thử thách
DễChương trình đọc một dòng gồm các mục được phân tách bằng dấu phẩy vào mảng items (đã được viết sẵn). In phần giữa của mảng bằng slice():
- Nếu số mục là lẻ, hãy in mục ở giữa và một mục ở mỗi bên (3 mục; nếu chỉ có một mục thì in mục đó)
- Nếu là chẵn, hãy in hai mục ở giữa
Với apple,banana,orange,grape, đầu ra là ["banana", "orange"], còn với a,b,c,d,e, đầu ra là ["b", "c", "d"].
Tự làm thử
extends Node
func _ready():
var items := OS.read_string_from_stdin().split(",")
# In ra các phần tử ở giữa
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
4Toán tử phần 1
Toán tử số họcPhép chia lấy phần nguyênToán tử moduloPhép tính số học rút gọnÔn tập, phép tính đơn giảnToán tử so sánh7Nhập xuất cơ bản
Đầu raĐầu ra với biếnĐịnh dạng chuỗiĐầu vàoÉp kiểuÔn tập đến 120Ôn tập đúng hay sai10Hàm
Khai báo hàmĐối sốTrả vềKiểu trả vềÔn tập: hàm SigmaÔn tập: hàm kiểm tra hợp lệGiá trị mặc định16Theo dõi chi tiêu hằng ngày
Tổng quan dự ánThoát chương trình5Toán tử phần 2
Toán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giảnToán tử logic phần 3Toán tử ba ngôi8Máy tính chia hóa đơn
Lời chàoNhận đầu vào3Biến, phần 2
Khai báo kiểu dữ liệuSuy luận kiểu dữ liệuHằng sốÔn tập: khởi tạo biếnChuyển đổi kiểu dữ liệu9Vòng lặp
Vòng lặp forVòng lặp whileBreakContinueÔn tập: giai thừaHàm rangeVòng lặp lồng nhauÔn tập: đầu vào độngTự luyện tập: Trình biên dịch GDScript online