Mengubah Irisan Kembali Menjadi Array
Wujudkan irisan menjadi array mandiri.
Mengubah Irisan Kembali Menjadi Array adalah pelajaran Swift Academy gratis di CoddyKit. Ini adalah pelajaran 3 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 Bukan Array
ArraySlice adalah jenis yang berbeda dari Array. Banyak API mengharapkan Array konkret, jadi Anda sering perlu melakukan konversi.
let original = [1, 2, 3, 4, 5]
let slice = original[1..<4]
print(type(of: slice))Array(slice)
Bungkus slice dalam penginisialisasi Array(...) untuk membuat array baru yang mandiri, dengan elemen yang disalin dan indeks berbasis nol.
let original = [10, 20, 30, 40, 50]
let slice = original[2..<5]
let array = Array(slice)
print(array)
print(type(of: array))Indeks Diatur Ulang Mulai dari Nol
Setelah konversi, array baru mengindeks ulang mulai dari 0, berbeda dari slice yang mempertahankan indeks array induk.
let original = [1, 2, 3, 4, 5]
let slice = original[3..<5]
let copy = Array(slice)
print("slice start:", slice.startIndex)
print("array start:", copy.startIndex)Konversi Menyalin Penyimpanan
Konversi memaksa penyalinan. Array baru tidak lagi berbagi penyimpanan dengan array induk, sehingga perubahan pada array baru tidak memengaruhi array asal.
let original = [1, 2, 3, 4]
var copy = Array(original[1..<3])
copy[0] = 999
print("original:", original)
print("copy:", copy)Mengembalikan Array dari Fungsi
Jika sebuah fungsi mengembalikan sebagian array, konversikan slice tersebut agar pemanggil mendapatkan Array biasa.
func firstThree(of nums: [Int]) -> [Int] {
return Array(nums.prefix(3))
}
print(firstThree(of: [9, 8, 7, 6, 5]))Meneruskan ke Parameter Array
Jika parameter API bertipe [Int], Anda harus mengonversi slice sebelum meneruskannya.
func total(_ values: [Int]) -> Int {
return values.reduce(0, +)
}
let data = [1, 2, 3, 4, 5]
let result = total(Array(data[1..<4]))
print(result)Kapan Konversi Tidak Diperlukan
Jika fungsi Anda menerima Sequence atau Collection generik, Anda dapat langsung meneruskan potongan tersebut tanpa melakukan konversi.
func describe<S: Sequence>(_ s: S) where S.Element == Int {
print(Array(s))
}
let arr = [2, 4, 6, 8]
describe(arr[1..<3])Pertukaran Penggunaan Memori
Potongan menghindari penyalinan dan membuat penyimpanan induknya tetap hidup. Jika Anda menyimpan potongan kecil dari larik besar selama waktu yang lama, konversikan menjadi larik agar buffer big dapat dibebaskan.
let huge = Array(1...1000)
let keep = Array(huge[0..<3]) // small independent copy
print(keep)Mengonversi Menjadi Himpunan
Anda juga dapat memasukkan potongan ke penginisialisasi koleksi lain seperti Set.
let arr = [1, 2, 2, 3, 3, 3]
let uniqueTail = Set(arr[2..<6])
print(uniqueTail.sorted())Konversi Bolak-Balik
Memotong, lalu mengonversi, kemudian memotong lagi sepenuhnya aman. Setiap konversi dilakukan secara eksplisit dan dapat diprediksi.
let arr = [10, 20, 30, 40, 50]
let a = Array(arr[1..<4])
let b = Array(a[0..<2])
print(a)
print(b)Praktik Terbaik
Terus gunakan potongan selama melakukan perhitungan, dan konversikan menjadi Array hanya pada batas tempat Anda menyimpan atau mengembalikan hasil.
let arr = [3, 1, 4, 1, 5, 9, 2]
let top3 = Array(arr.sorted(by: >)[0..<3])
print(top3)Pemeriksaan Singkat
Uji konversi potongan.
Ringkasan
Gunakan Array(slice) untuk mengubah ArraySlice menjadi larik independen dengan indeks berbasis nol dan penyimpanan yang disalin. Lakukan konversi pada batas API; tetap gunakan potongan selama melakukan perhitungan untuk menghindari penyalinan tambahan.
let s = [1, 2, 3, 4, 5][2..<5]
let a = Array(s)
print(a, a.startIndex)Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mengubah Irisan Kembali Menjadi Array” gratis?
Ya — teks lengkap “Mengubah Irisan Kembali Menjadi Array” 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 “Mengubah Irisan Kembali Menjadi Array”?
Wujudkan irisan menjadi array mandiri. 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 3 dari 4.
Berapa lama pelajaran “Mengubah Irisan Kembali Menjadi Array” 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
- Membuat Irisan dengan Rentang
- Semantik Indeks ArraySlice
- Mengubah Irisan Kembali Menjadi Array
- prefix, suffix, dan dropFirst