Ketika membuat aplikasi, kita pasti akan berurusan dengan yang namanya List. Pada kali ini saya coba mengambil 10 utility method list dari Dart yang bisa melakukan banyak hal dan mungkin bisa di terapkan pada aplikasi project kamu.
1. forEach
function untuk menampilkan tiap-tiap elements.
var perusahaan = [‘bukalapak’, ‘tokopedia’, ‘blibli’];
perusahaan.forEach((data)=> print(data)); bukalapak tokopedia blibli
2. map
Untuk mengubah element data dalam sebuah list.
var perusahan_id = perusahaan.map((data)=> ‘${data} indonesia’).toList();
3. contains
Method ini digunakan untuk melakukan validasi terhadap element yg ingin dicari.
var perusahaan = [‘bukalapak’, ‘tokopedia’, ‘blibli’, ‘salestock’];
print(perusahaan.contains(‘bukalapak’));
4. sort
untuk melakukan sorting pengurutan dalam list.
var randomdata = [1,3,5,20,4,2];
randomdata.sort((a, b)=> a.compareTo(b));
print(randomdata);
5. reduce
Method yang bisa digunakan untuk menggabungkan semua type yang ada di dalam list menjadi single type. Tapi perlu diingat, method ini hanya bisa digunakan untuk tipe data yang sama dalam sebuah list.
final result = [1,2,3];
print(result.reduce((prev, element) => prev + element)); // 6
6. fold
Method ini sama halnya dengan reduce, namun tetapi perbedannya, kalau reduce hanya bisa mengembalikan value type dari type data yang sama dalam sebuah list, kalau fold bisa mengembalikan value yg berbeda sesuai yang kita butuhkan , meskipun type data dalam sebuah list tersebut berbeda.
final list = ['a', 'bb', 'ccc'];
list.fold(0, (t, e) => t + e.length); // result is 6
7. every
Method ini akan melakukan pengecekan semua item dalam sebuah list sesuai dari kondisi yang kita berikan.
final result = [1,2,3];
final value = result.every((data){
print(data);
return data < 4;
});
print(value);result: 1 2 3 true
8. any
Method ini sama halnya seperti every
yang mana perbedaanya hanya saja jika menggunakan any
pengecekan dalam sebuah list hanya sekali jika kondisi sudah terpenuhi (true)
final result = [1,2,3];
final value = result.any((data){
print(data);
return data < 4;
});
print(value);result : 1 (true)
7. where
Method ini akan mengembalikan element, yang mana jika element tersebut sesuai dengan kondisi (true) yang telah kita berikan.
final numbers = <int>[1, 2, 3, 5, 6, 7];
var result = numbers.where((x) => x < 5); // (1, 2, 3)
8. firstWhere
Method ini akan mengembalikan element pertama, yang mana jika element tersebut sesuai dengan kondisi(true) yang telah kita berikan.
final numbers = <int>[1, 2, 3, 5, 6, 7];
var result = numbers.firstWhere((element) => element < 5); // 1
9. singleWhere
Method ini hampir sama dengan firstWhere, perbedaanya adalah, ketika dalam sebuah element tersebut ada dua kondisi(true) yang sama, maka akan terjadi error.
final numbers = <int>[2, 2, 10];
var result = numbers.singleWhere((element) => element > 5); // 10
10. take
Method yang akan mengembalikan Iterable
mulai dari index pertama (index ke 0) sampai dengan jumlah total yang kita inginkan.
final numbers = <int>[1, 2, 3, 5, 6, 7];
final result = numbers.take(4); // (1, 2, 3, 5)
final takeAll = numbers.take(100); // (1, 2, 3, 5, 6, 7)
Kesimpulan
Ada beberapa method yang belum saya tulis, tapi terlepas itu semua mungkin dari beberapa tulisan diatas sangat membantu untuk membuka wawasan kita tentang fungsi beberapa method pada List yang ada pada Dart dan bisa digunakan pada project kalian.
Keep Coding, Stay Awesome.
sumber:
Dart documentation.
Flutter SDK.