0Pricing
Swift Academy · Pelajaran

Semantik Indeks ArraySlice

Pahami mengapa indeks irisan mempertahankan posisi aslinya.

Semantik Indeks ArraySlice adalah pelajaran Swift Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Swift Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Swift Academy mencakup 4 pelajaran total.

Slice Mempertahankan Indeks Asal

Hal yang sering mengejutkan: ArraySlice tidak mengindeks ulang mulai dari nol. Slice mempertahankan indeks yang dimilikinya dalam array induk.

let arr = [10, 20, 30, 40, 50]
let slice = arr[2..<5]
print(slice.startIndex)
print(slice.endIndex)

startIndex Tidak Selalu Nol

startIndex sebuah slice sama dengan batas bawah yang digunakan untuk membuatnya. Untuk arr[2..<5], indeks awalnya adalah 2.

let arr = [1, 2, 3, 4, 5, 6]
let slice = arr[3..<6]
print("start:", slice.startIndex)
print("first value:", slice[slice.startIndex])

Menggunakan Subskrip pada Slice

Karena indeks dipertahankan, Anda harus menggunakan indeks milik slice tersebut. Mengakses slice[0] pada slice yang dimulai dari indeks 2 akan menyebabkan program gagal saat berjalan.

let arr = [100, 200, 300, 400]
let slice = arr[2..<4]
print(slice[2])
print(slice[3])

Gunakan startIndex dengan Aman

Untuk mendapatkan elemen pertama di mana pun posisi awal slice, gunakan slice.first atau slice[slice.startIndex].

let arr = [5, 6, 7, 8, 9]
let slice = arr[2..<5]
print(slice.first ?? -1)
print(slice[slice.startIndex])

endIndex Berada Satu Posisi Setelah Elemen Terakhir

Seperti pada array, endIndex menunjuk satu posisi setelah elemen valid terakhir. Menggunakan subskrip pada endIndex tidak valid.

let arr = [11, 22, 33, 44]
let slice = arr[1..<3]
print("endIndex:", slice.endIndex)
print("last valid:", slice[slice.endIndex - 1])

Menghitung vs Mengindeks

count sebuah slice adalah jumlah elemennya, yang dapat berbeda dari endIndex. Jangan pernah menganggap count sama dengan indeks terakhir.

let arr = [0, 1, 2, 3, 4, 5]
let slice = arr[3..<6]
print("count:", slice.count)
print("startIndex:", slice.startIndex)

Properti Indeks

Gunakan properti indices untuk melakukan iterasi dengan aman pada rentang indeks valid sebuah slice.

let arr = [10, 20, 30, 40, 50]
let slice = arr[1..<4]
for i in slice.indices {
    print(i, slice[i])
}

Mengapa Indeks Dipertahankan

Mempertahankan indeks memungkinkan Anda memetakan posisi dalam slice kembali ke array asal tanpa pencatatan tambahan. Indeks yang Anda temukan juga valid dalam array induk.

let arr = ["a", "b", "c", "d", "e"]
let slice = arr[2..<5]
if let idx = slice.firstIndex(of: "d") {
    print("found at parent index:", idx)
    print("parent has:", arr[idx])
}

Enumerasi Dimulai Lagi dari Nol

Jika Anda menginginkan posisi berbasis nol, gunakan enumerated(). Fungsi ini menghasilkan offset yang dimulai dari 0, apa pun startIndex slice tersebut.

let arr = [9, 8, 7, 6, 5]
let slice = arr[2..<5]
for (offset, value) in slice.enumerated() {
    print(offset, value)
}

Jarak dari Awal

Untuk menghitung offset berbasis nol dari suatu indeks, gunakan distance(from:to:).

let arr = [1, 2, 3, 4, 5]
let slice = arr[2..<5]
let idx = slice.startIndex + 1
let offset = slice.distance(from: slice.startIndex, to: idx)
print("offset:", offset, "value:", slice[idx])

Kesalahan Umum

Lupa bahwa slice mempertahankan indeks array induk adalah salah satu kesalahan Swift yang paling umum. Selalu utamakan first, enumerated(), atau startIndex daripada 0 yang ditulis secara tetap.

let arr = [100, 200, 300, 400, 500]
let slice = arr[3..<5]
// Safe: use first, not slice[0]
print(slice.first ?? 0)

Pemeriksaan Singkat

Gunakan penalaran untuk memahami indeks slice.

Ringkasan

ArraySlice mempertahankan indeks array induk: startIndex-nya adalah batas bawah, bukan nol. Gunakan first, startIndex, indices, atau enumerated() untuk mengaksesnya dengan aman, bukan 0 yang ditulis secara tetap.

let slice = [5, 6, 7, 8, 9][3..<5]
print(slice.startIndex, slice.first ?? -1)

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Semantik Indeks ArraySlice” gratis?

Ya — teks lengkap “Semantik Indeks ArraySlice” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Swift Academy, upgrade ke CoddyKit PRO. Kursus Swift Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Semantik Indeks ArraySlice”?

Pahami mengapa indeks irisan mempertahankan posisi aslinya. Kamu berlatih Swift Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Swift Academy?

Tidak diperlukan pengalaman sebelumnya. Swift Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Semantik Indeks ArraySlice” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Swift Academy ini?

Ya. Setiap pelajaran Swift Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Membuat Irisan dengan Rentang
  2. Semantik Indeks ArraySlice
  3. Mengubah Irisan Kembali Menjadi Array
  4. prefix, suffix, dan dropFirst
← Kembali ke Swift Academy