Membalikkan list
Termasuk bagian Logika dan Alur dalam perjalanan Dart di Coddy. Pelajaran 3 dari 65.
Terkadang kamu perlu melihat elemen-elemen list dalam urutan terbalik. Dart menyediakan property .reversed yang membuat tampilan list-mu dalam urutan terbalik tanpa mengubah list aslinya.
Properti .reversed mengembalikan iterable yang menampilkan elemen list dalam urutan terbalik. Artinya, elemen terakhir muncul pertama, elemen kedua dari belakang muncul kedua, dan seterusnya.
List<int> numbers = [1, 2, 3, 4, 5];
var reversedNumbers = numbers.reversed;
print(reversedNumbers); // (5, 4, 3, 2, 1)
// List asli tetap tidak berubah
print(numbers); // [1, 2, 3, 4, 5]Hal penting yang perlu diketahui adalah .reversed mengembalikan iterable, bukan list. Jika kamu perlu mengolahnya sebagai list, kamu dapat mengonversinya menggunakan .toList(). Fitur ini sangat berguna saat kamu perlu memproses data dalam urutan terbalik tanpa mengubah list aslimu.
Tantangan
MudahBuat program yang menganalisis daftar bacaan dengan menampilkan buku dalam urutan asli dan urutan terbalik. Programmu harus:
- Membaca input string yang berisi judul daftar bacaan
- Membaca beberapa input string yang berisi judul buku, input akan berakhir saat kamu menerima string kosong
- Menggunakan property
.reverseduntuk membuat tampilan terbalik dari daftar buku - Mencetak analisis daftar bacaan dengan format persis seperti yang ditampilkan di bawah
Misalnya, jika judul daftar bacaan adalah "Summer Reading" dan bukunya adalah "1984", "To Kill a Mockingbird", "The Great Gatsby", programmu harus menghasilkan output:
Reading List: Summer Reading
Books in original order: (1984, To Kill a Mockingbird, The Great Gatsby)
Books in reversed order: (To Kill a Mockingbird, The Great Gatsby, 1984)
Total books: 3Jika judul daftar bacaan adalah "Quick Reads" dan hanya satu buku, "Animal Farm", yang diberikan, programmu harus menghasilkan output:
Reading List: Quick Reads
Books in original order: (Animal Farm)
Books in reversed order: (Animal Farm)
Total books: 1Programmu harus menggunakan property .reversed untuk menampilkan buku dalam urutan terbalik. Ingat bahwa .reversed mengembalikan iterable, jadi saat kamu mencetaknya, hasilnya akan ditampilkan dengan tanda kurung, bukan tanda kurung siku.
Coba sendiri
import 'dart:io';
void main() {
// Baca judul list bacaan
String? title = stdin.readLineSync();
// Baca judul buku hingga menemukan string kosong
List<String> books = [];
String? book;
while ((book = stdin.readLineSync()) != null && book!.isNotEmpty) {
books.add(book);
}
// TODO: Tulis kodemu di sini
// Gunakan property .reversed untuk membuat tampilan terbalik dari list books
// Cetak output dalam format yang diminta
}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