Properti list: first dan last
Termasuk bagian Logika dan Alur dalam perjalanan Dart di Coddy. Pelajaran 1 dari 65.
Saat bekerja dengan list, kamu sering perlu mengakses elemen pertama atau terakhir. Dart menyediakan dua property praktis yang membuatnya jauh lebih mudah, daripada menggunakan nomor indeks seperti [0] atau [list.length - 1].
property .first memberimu elemen pertama dalam list, sedangkan property .last memberimu elemen terakhir. Property ini lebih mudah dibaca dan lebih kecil kemungkinannya menimbulkan error dibandingkan menghitung posisi indeks.
List<String> planets = ['Mercury', 'Venus', 'Earth', 'Mars'];
String firstPlanet = planets.first; // 'Mercury'
String lastPlanet = planets.last; // 'Mars'Properti ini berfungsi dengan list apa pun yang tidak kosong dan otomatis menangani perhitungan indeks untukmu. Ini membuat kodemu lebih rapi dan lebih mudah dipahami saat kamu perlu bekerja dengan elemen di awal atau akhir list.
Tantangan
MudahBuat program yang menganalisis playlist musik dengan mengakses lagu pertama dan terakhir. Programmu harus:
- Membaca input string yang berisi nama playlist
- Membaca beberapa input string yang berisi judul lagu (input akan berakhir saat kamu menerima string kosong)
- Menggunakan property
.firstuntuk mendapatkan lagu pertama dalam playlist - Menggunakan property
.lastuntuk mendapatkan lagu terakhir dalam playlist - Mencetak analisis playlist dalam format persis seperti yang ditunjukkan di bawah ini
Contohnya, jika nama playlist adalah "My Favorites" dan lagunya adalah "Bohemian Rhapsody", "Imagine", "Hotel California", programmu harus menghasilkan:
Playlist: My Favorites
Total songs: 3
Opening track: Bohemian Rhapsody
Closing track: Hotel CaliforniaProgrammu harus menangani playlist dengan jumlah lagu berapa pun dan menggunakan property .first dan .last untuk mengakses lagu pembuka dan penutup.
Coba sendiri
import 'dart:io';
void main() {
// Baca nama playlist
String? playlistName = stdin.readLineSync();
// Baca lagu hingga menemukan string kosong
List<String> songs = [];
String? song;
while ((song = stdin.readLineSync()) != null && song!.isNotEmpty) {
songs.add(song);
}
// TODO: Tulis kodemu di bawah ini
// Gunakan songs.first dan songs.last untuk mendapatkan lagu pembuka dan penutup
// Tampilkan output analisis playlist
print("Playlist: $playlistName");
print("Total songs: ${songs.length}");
// Tampilkan lagu pembuka dan penutup di sini
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Manipulasi list Tingkat Lanjut
Properti list: first dan lastStatus list: isEmpty dan isNotEmpMembalikkan listMenambahkan ke list: insertMenghapus dari list: removeWhereMencari dalam list: indexOfMengurutkan listMengacak listRekap: Pengatur list4Manipulasi Map Lanjutan
Melakukan perulangan pada MapMemeriksa kunci dan nilaiProperti Map: kunci dan nilaiPenambahan Bersyarat: putIfAbsentMenghapus Entri dari MapMap BersarangRingkasan: Pembaruan Inventaris2Operasi Fungsional pada list
Mengubah dengan 'map'Menyaring dengan 'where'Menggunakan '.toList()'Memeriksa Kondisi dengan 'any'Kondisi dengan 'every'Menemukan dengan 'firstWhere'Ulasan: Penyaringan Data5Proyek: Perhitungan Keranjang Belanja
Menyiapkan ProyekMenambahkan Barang ke Keranjang3set
Apa itu set?Membuat setMenambahkan dan menghapus elemen dari setMemeriksa elemen dalam setMengubah list menjadi setGabungan setIrisan setSelisih setRangkuman: Daftar tamu unikLatihan sendiri: Compiler Dart online