알아야 할 상위 10가지 어레이 유틸리티 방법(Dart) 🎯

Dart과의 클라이언트 측 애플리케이션 개발 벤처의 일환으로 배열/목록 유형으로 작업할 수 있는 방법을 탐색하기 시작했습니다. 포괄적인 문서 외에도 StackOverflow 커뮤니티에서 지원을 찾을 수 있었고 필요한 것을 성공적으로 달성했습니다.

오늘 기사에서는 Dart의 "배터리 포함"개념, 특히 목록 작업을 위한 inbuilt utilities에 대해 살펴보겠습니다. 다음 앱에 대해 알고 있는 가장 일반적인 10가지를 직접 선택했습니다. 나는 또한 prepared 예제 스니펫을 가지고 있으므로 직접 가지고 놀 수 있습니다 😁

그럼 시작할까요?


1. forEach()



목록의 각 요소에 대해 함수를 실행합니다.

var fruits = ['banana', 'pineapple', 'watermelon'];
fruits.forEach((fruit) => print(fruit)); // => banana pineapple watermelon

2. 지도()



주어진 목록의 각 요소를 변환한 후 새 목록을 생성합니다.

var mappedFruits = fruits.map((fruit) => 'I love $fruit').toList();
print(mappedFruits); // => ['I love banana', 'I love pineapple', 'I love watermelon']

3. 포함()



주어진 요소가 목록에 있는지 확인합니다.

var numbers = [1, 3, 2, 5, 4];
print(numbers.contains(2)); // => true

4. 정렬()



제공된 정렬 기능을 기반으로 목록의 요소를 정렬합니다.

numbers.sort((num1, num2) => num1 - num2); // => [1, 2, 3, 4, 5]

5. 축소(), 접기()



주어진 함수를 사용하여 목록의 요소를 단일 값으로 압축합니다.

var sum = numbers.reduce((current, next) => current + next);
print(sum); // => 15

// with fold() you provide an initial value
const initialValue = 10;
var sum2 = numbers.fold(initialValue, (current, next) => current + next);
print(sum2); // => 25

6. 모든()



모든 요소가 테스트를 만족하는지 확인

List<Map<String, dynamic>> users = [
  { "name": 'John', "age": 18 },
  { "name": 'Jane', "age": 21 },
  { "name": 'Mary', "age": 23 },
];

var is18AndOver = users.every((user) => user["age"] >= 18);
print(is18AndOver); // => true

var hasNamesWithJ = users.every((user) => user["name"].startsWith('J'));
print(hasNamesWithJ); // => false

7. where(), firstwhere(), singlewhere()



테스트를 만족하는 요소 모음을 반환합니다.

// See #6 for users list
var over21s = users.where((user) => user["age"] > 21);
print(over21s.length); // => 1

var nameJ = users.firstWhere((user) => user["name"].startsWith('J'), orElse: () => null);
print(nameJ); // => {name: John, age: 18}

var under18s = users.singleWhere((user) => user["age"] < 18, orElse: () => null);
print(under18s); // => null
firstWhere()는 목록에서 첫 번째 일치 항목을 반환하고 singleWhere()는 일치 항목이 정확히 하나인 경우 첫 번째 일치 항목을 반환합니다.

8. 테이크(), 스킵()



요소를 포함하거나 건너뛰는 동안 컬렉션을 반환합니다.

var fiboNumbers = [1, 2, 3, 5, 8, 13, 21];
print(fiboNumbers.take(3).toList()); // => [1, 2, 3]
print(fiboNumbers.skip(5).toList()); // => [13, 21]
print(fiboNumbers.take(3).skip(2).take(1).toList()); // => [3]

9. List.from()



주어진 컬렉션에서 새 목록을 만듭니다.

var clonedFiboNumbers = List.from(fiboNumbers);
print('Cloned list: $clonedFiboNumbers');

Dart 2.0부터 객체를 인스턴스화할 때 new 키워드는 선택 사항입니다.

10. 확장()



각 요소를 0개 이상의 요소로 확장합니다.

var pairs = [[1, 2], [3, 4]];
var flattened = pairs.expand((pair) => pair).toList();
print('Flattened result: $flattened'); // => [1, 2, 3, 4]

var input = [1, 2, 3];
var duplicated = input.expand((i) => [i, i]).toList();
print(duplicated); // => [1, 1, 2, 2, 3, 3]

결론



이것이 통찰력이 되었기를 바라며 이것이 Dart에 대한 첫 번째 노출이라면 기본 사항을 파악하기 위해 저의 글을 읽으십시오. 이 문서의 예제 스니펫은 DartPad에서 사용할 수 있습니다.

Dart에 대한 더 많은 콘텐츠를 보려면 저를 좋아요하고 팔로우하세요😍.

이것으로 튜토리얼을 마칩니다. 읽어 주셔서 감사합니다.

다음에 확인해야 할 사항


  • List<E> class Documentation
  • Dart screencasts on Egghead.io


  • 계속 읽기:


    좋은 웹페이지 즐겨찾기