where
조건에 부합하는 것만 가져오는 메소드이다.
transactions.where((e) => e.trader.city == 'Cambridge');
// 아래 if문과 동일
List<String> result = [];
for (int i = 0; i < transactions.length; i++) {
if (transactions[i].trader.city == 'Cambridge') {
result.add(transactions[i]);
}
}
map
값을 정의한 값으로 변환해준다.
transactions.map((e) => e.trader.city);
forEach
for loop과 기능이 비슷하다. for loop을 한 줄로 표현 가능하게 해준다.
reduce
e를 받아서 리턴 코드를 실행한 결과를 v에 넣고, 이 과정을 반복한다.
transactions.map((e) => e.value)
.reduce((v, e) => max(v, e));
any
리턴코드에 정의된 사항에 부합하는 것이 있는지 없는지 확인해준다. 리턴타입은 bool이다.
transactions.any((e) => e.trader.city == 'Milano');
toList()
함수형 프로그래밍을 사용하면서 리턴 타입인 Iterable 타입을 리스트 타입으로 바꿔준다.
transactions.where((e) => e.trader.city == 'Cambridge')
.toList();
toSet()
Iterable 타입을 Set 타입으로 바꿔준다.