zoaseo
To Infinity And Beyond
zoaseo
전체 방문자
오늘
어제
  • 분류 전체보기 (763)
    • 개발이 좋아서 (381)
      • SAP가 좋아서 (3)
      • Java가 좋아서 (42)
      • Spring이 좋아서 (50)
      • JPA가 좋아서 (0)
      • QueryDSL이 좋아서 (26)
      • Docker가 좋아서 (7)
      • Redis가 좋아서 (7)
      • AWS가 좋아서 (5)
      • CI/CD가 좋아서 (6)
      • Troubleshooting이 좋아서 (4)
      • Kotlin이 좋아서 (7)
      • SQL이 좋아서 (6)
      • HTTP가 좋아서 (21)
      • JavaScript가 좋아서 (30)
      • TypeScript가 좋아서 (6)
      • Vue가 좋아서 (21)
      • Flutter가 좋아서 (61)
      • React가 좋아서 (20)
      • Redux(React)가 좋아서 (2)
      • Angular가 좋아서 (22)
      • HTML이 좋아서 (9)
      • CSS가 좋아서 (15)
      • PHP가 좋아서 (9)
      • Illustrator가 좋아서 (2)
    • 노력이 좋아서 (169)
    • 결과물이 좋아서 (14)
    • 코딩연습이 좋아서 (168)
      • 이론이 좋아서 (62)
      • SQL이 좋아서 (90)
    • 유용한 사이트가 좋아서 (28)
    • Github (2)

인기 글

티스토리

hELLO · Designed By 정상우.
zoaseo

To Infinity And Beyond

[Dart] 3일차_함수형 프로그래밍_reduce, fold
개발이 좋아서/Flutter가 좋아서

[Dart] 3일차_함수형 프로그래밍_reduce, fold

2022. 12. 14. 18:10

1) reduce

void main() {
  List<int> numbers = [
    1,
    3,
    5,
    7,
    9
  ];
  
  final result = numbers.reduce((prev, next){
    print('--------------');
    print('previous : $prev');
    print('next : $next');
    print('total : ${prev + next}');
    
    return prev + next;
  });
    
  print(result);
  
  final result2 = numbers.reduce((prev, next) => prev + next);
  
  print(result2);
  
  List<String> words = [
    '안녕하세요 ',
    '저는 ',
    '코드팩토리입니다.',
  ];
  
  final sentence = words.reduce((prev, next) => prev + next);
  
//   final sentence = words.reduce((prev, next) => prev.length + next.length); // return의 형태가 String이 아니기 때문에 안된다!!!
  
  print(sentence);
}

2) fold

void main() {
  List<int> numbers = [
    1,
    3,
    5,
    7,
    9
  ];
  
  final sum = numbers.fold<int>(0, (prev, next){
    print('--------------');
    print('previous : $prev');
    print('next : $next');
    print('total : ${prev + next}');
    
    return prev + next;
  });
  
  print(sum);
  
  List<String> words= [
    '안녕하세요 ',
    '저는 ',
    '코드팩토리입니다.',
  ];
  
  final sentence = words.fold<String>('', (prev, next) => prev + next);
  
  print(sentence);
  
  final count = words.fold<int>(0, (prev, next) => prev + next.length);
  
  print(count);
}

'개발이 좋아서 > Flutter가 좋아서' 카테고리의 다른 글

[Dart] 3일차_함수형 프로그래밍_활용  (1) 2022.12.14
[Dart] 3일차_함수형 프로그래밍_cascade  (1) 2022.12.14
[Dart] 3일차_함수형 프로그래밍_where  (0) 2022.12.14
[Dart] 3일차_함수형 프로그래밍_형변환_list, map, set  (0) 2022.12.14
[Dart] 3일차_객체지향_상속_generic  (2) 2022.12.14

    티스토리툴바