Flutter/Dart - 리스트 필터링

리스트의 요소들 중에 특정 조건에 맞는 요소들만 필터링하여, 다른 리스트에 저장하는 방법을 소개합니다.

1. where를 이용한 방법

List.where(function)은 리스트의 요소에 대해서 함수를 수행하고, true로 리턴되는 요소들을 Iterable로 리턴합니다.

아래 예제는 0 이상의 숫자를 필터링하고, toList()로 Iterable을 List로 변환하였습니다.

void main() {

    List<int> list = [-3, -2, -1, 0, 1, 2, 3];

    List<int> result = list.where((n) => n >= 0).toList();
    print(result);    
}

Output:

[0, 1, 2, 3]

2. for문을 이용한 방법

반복문을 이용하여 리스트의 모든 요소를 순회하면서, 조건에 맞는 요소들만 다른 리스트에 저장하도록 구현할 수 있습니다.

아래 예제는 0 이상의 숫자들만 다른 리스트에 저장합니다.

void main() {

    List<int> list = [-3, -2, -1, 0, 1, 2, 3];

    List<int> result = [];
    for (var n in list) {
        if (n >= 0) {
            result.add(n);
        }
    }
    print(result);
}

Output:

[0, 1, 2, 3]
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha