forEach : 각각 값을 루핑하면서 함수를 실행
list.forEach((parameter){function});void main(){ List<String> redVelvet = [ '아이린', '슬기', '웬디', '조이', '예리' ]; redVelvet.forEach((value){ print(value); }); 결과값 : 아이린,슬기,웬디,조이,예리
map : return값을 받을 수 있음, 원래 리스트를 기반으로 새로운 리스트를 생성
but : ( ) 소괄호로 출력
newList = list.map((parameter){function});void main(){ List<String> redVelvet = [ '아이린', '슬기', '웬디', '조이', '예리' ]; final newList = redVelvet.map((value){ return '제 이름은 $value입니다'; }); print(newList);
fold(시작값,(다음 루프 리턴값, 파라미터){function})
List<int> numbers = [0,1,2,3,4,5]; int total = numbers.fold(0, (total, element){ return total += element; }); print(total);
reduce((다음리턴값, 파라미터)){function});
int total2 = numbers.reduce((total,element){ return total += element; }); print(total2);
※ reduce와 fold의 차이점
if) 각각 element와 return값의 타입이 다르면 reduce를 쓸 수 없음!
if) 타입이 같고 시작값이 처음값이면 reduce 사용 가능
arrow함수 : 한줄 리턴 함수 : =>
(괄호 필요 x)List<int> numbers = [0,1,2,3,4,5]; int total = numbers.fold(0, (total, element) => total += element); print(total);