Flutter/Dart

[Dart] fold() - 리스트 순회 계산

주톨 2023. 7. 21. 13:37
728x90

 

 

 

dart의 fold() 메서드는 리스트나 이터러블(Iterable)의 각 요소를 누적으로 처리하여 하나의 결과 값을 얻는 메서드입니다. fold메서드는 초기값과 함께 사용되며, 리스트의 각 요소를 순회하면서 초기값과 요소를 결합하여 새로운 값을 계산합니다.

 

void main() {
  final list = [1,2,3,4,5];
  print(list.fold(0, (previousValue, element) {
    return previousValue + element;
  }).toString());
}


//출력 15

해당 코드가 있다고 할 때 초기값으로 설정해 둔 0이 previousValue로 들어갑니다. 그리고 리스트의 첫 요소인 1이 element에 들어있습니다. 그리고 previousValue와 element를 더하고 더한 값을 previousValue로 들어갑니다. 그리고 두 번째 요소인 2가 element로 들어오고 다시 더합니다. 이것을 리스트요소만큼 순회하면서 반복하고 값을 계산합니다.

 

 

 

void main() {
  final list = [1,2,3,4,5];
  print(list.fold(10, (previousValue, element) {
    return previousValue + element;
  }).toString());
}

//출력 25

초기값을 다르게 하면 처음 previousValue에 초기값이 들어가니 previousValue에는 10이 들어가 있습니다.