알아야 할 상위 10가지 지도/객체 유틸리티 방법(Dart) 🎯

이 기사에서는 Dart의 Map 유형에 대해 알아야 할 상위 10가지 유틸리티 방법을 살펴보겠습니다. 이것은 배열/목록 유형에 대해 이전에 수행한 ""의 자매 문서이므로 바로 시작하겠습니다.


1. addAll()



이를 통해 제공된 맵의 모든 키/값 쌍을 현재 맵에 병합할 수 있습니다.

var user = {
  "firstName": "Tom",
  "age": 25,
};

user.addAll({
  "lastName": "Smith",
  "age": 26,
});

print(user); // => {"firstName": "Tom", "age": 26, "lastName": "Smith"}

키가 이미 존재하는 경우 해당 값이 대체됩니다. 이는 JavaScript의 Object.assign와 유사하게 작동합니다.

2. 포함키()



주어진 키가 존재하는지 확인

print(user.containsKey("age")); // => true
print(user.containsKey("accessToken")); // => false

3. 포함값()



주어진 값이 존재하는지 확인

print(user.containsValue("Smith")); // => true
print(user.containsValue(40)); // => false

4. forEach()



각 키/값 쌍에 대해 주어진 함수를 실행합니다.

user.forEach((key, value) => print('Key: $key, Value: $value')); // => "Key: firstName, Value: Tom" "Key: age, Value: 26" "Key: lastName, Value: Smith"

5. putIfAbsent()



존재하지 않는 경우 키/값 쌍을 추가합니다. 키가 이미 있으면 값이 없으면 값이 설정됩니다.

user.putIfAbsent("accessToken", () => "abf329jklr90rnlk2..."); // => {"firstName": "Tom", "age": 26, "lastName": "Smith", "accessToken": "abf329jklr90rnlk2..."}

6. 제거()



제공된 키와 관련 값을 제거합니다.

user.remove("accessToken"); // => abf329jklr90rnlk2...

그러면 제거된 값이 반환됩니다.

7. 제거위치()



주어진 조건이 참이면 키/값 쌍을 제거합니다.

user.removeWhere((key, value) => key == "lastName");

8. 클리어()



맵에서 모든 키/값 쌍을 제거합니다.

user.clear();
print(user); // => {}

9. 업데이트()



주어진 키의 값을 업데이트합니다.

user["age"] = 25;
user.update("age", (dynamic val) => ++val); // => 26

이것은 또한 새 값을 반환합니다. 키가 존재하지 않는 경우 발생하는 오류를 방지하기 위해 세 번째 매개변수가 있습니다.

user.update("name", (dynamic val) => "Jim", ifAbsent: () => "Jane");
print(user); // => {"age": 26, "name": "Jane"};

대부분의 경우 배열 대괄호 표기법을 사용하여 업데이트할 수 있습니다.

user["name"] = "Mary";

10. 맵.from()



이것은 기술적으로 생성자이지만 여전히 유틸리티로 유용합니다. 제공된 맵의 복사본을 생성하고 반환합니다.

var userCopy = Map.from(user);

결론



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

Dart에 대한 더 많은 기사를 보려면 저를 팔로우하고 😍하세요. 정말 고마워.

빠른 링크


  • Map<K,V> class Documentation
  • Free Dart screencasts on Egghead.io


  • 계속 읽기:


    좋은 웹페이지 즐겨찾기