Map
Termasuk bagian Logika dan Alur dalam perjalanan Swift di Coddy. Pelajaran 23 dari 56.
map menerima closure dan menerapkannya ke setiap elemen, lalu mengembalikan array baru yang berisi hasilnya. Array baru tersebut memiliki panjang yang sama dengan sumbernya.
let nums = [1, 2, 3, 4]
let doubled = nums.map { $0 * 2 }
print(doubled) // [2, 4, 6, 8]$0 adalah singkatan untuk parameter pertama closure. Bentuk yang lebih panjang menuliskan nama parameter dan tipe nilai yang dikembalikan:
let doubled = nums.map { (n: Int) -> Int in
return n * 2
}map juga dapat mengubah tipe elemen. Memetakan [Int] dengan closure yang mengembalikan String akan menghasilkan [String]:
let labels = nums.map { "#\($0)" }
print(labels) // ["#1", "#2", "#3", "#4"]Tantangan
MudahBaca satu baris input: list bilangan bulat yang dipisahkan koma (suhu dalam Fahrenheit).
Konversikan setiap nilai ke Celsius menggunakan rumus C = (F - 32) * 5 / 9 dengan aritmetika bilangan bulat (potong ke arah nol, tanpa desimal). Cetak pada baris terpisah:
- Suhu dalam Celsius, digabungkan dengan
, - Satu label untuk setiap suhu dengan awalan
F=<f> C=<c>, digabungkan dengan;
Gunakan map untuk kedua baris.
Untuk input 32,212,98,0, output-nya adalah:
0,100,36,-17
F=32 C=0;F=212 C=100;F=98 C=36;F=0 C=-17Coba sendiri
let f = readLine()!.components(separatedBy: ",").map { Int($0)! }
// TODO: baris 1 = nilai celsius yang digabung dengan ","
// TODO: baris 2 = label "F=<f> C=<c>" yang digabung dengan ";"
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami string
Jumlah dan indeksHuruf besar, huruf kecil, dan hapus spasiMencari dalam stringMemisahkan dan menggabungkanMengganti substringUlasan: Memeriksa nama pengguna4set
Membuat setGabungan dan IrisanSelisih dan Selisih SimetrisHimpunan Bagian dan Himpunan SupersetRingkasan: Filter Tag7Proyek: Pelacak Kebiasaan
Gambaran Umum ProyekTandai Selesai2Rentang dan Langkah
Rentang Tertutup vs Setengah TerbukaLangkahMetode RentangRentang dalam SwitchRangkuman: Kisi KalenderLatihan sendiri: Playground Swift