본문으로 건너뛰기

objPickBy

콜백이 trueTrue를 반환한 항목만 담은 새 객체를 반환합니다.

콜백은 생태계의 다른 라이브러리와 동일하게 (value, key) 순서로 전달받습니다. 최상위 항목만 검사하므로 중첩된 객체는 필터링되지 않고 그대로 유지됩니다.

원본 객체는 변경되지 않습니다. 첫 번째 인자가 객체가 아니면 nullNone을 반환합니다.

Parameters

이름타입필수기본값
objobjectMap<String, dynamic>dict
필터링할 객체입니다. 원본은 변경되지 않습니다.
predicatefunctionbool Function(dynamic value, String key)Callable
각 항목마다 (value, key) 형태로 호출됩니다. trueTrue를 반환하면 해당 항목이 유지됩니다.

Returns

object | null

Map<String, dynamic>?

dict | None

Examples

javascript
objPickBy({ a: 1, b: 2, c: 3 }, (value) => value > 1); // Returns { b: 2, c: 3 }
objPickBy({ a: 1, b: 2 }, (value, key) => key === 'a'); // Returns { a: 1 }
objPickBy({ a: null, b: 1 }, (value) => value !== null); // Returns { b: 1 }
objPickBy({ a: 1 }, () => false); // Returns {}
dart
objPickBy({'a': 1, 'b': 2, 'c': 3}, (value, key) => value > 1); // Returns {'b': 2, 'c': 3}
objPickBy({'a': 1, 'b': 2}, (value, key) => key == 'a'); // Returns {'a': 1}
objPickBy({'a': null, 'b': 1}, (value, key) => value != null); // Returns {'b': 1}
objPickBy({'a': 1}, (value, key) => false); // Returns {}
python
objPickBy({'a': 1, 'b': 2, 'c': 3}, lambda value, key: value > 1)  # Returns {'b': 2, 'c': 3}
objPickBy({'a': 1, 'b': 2}, lambda value, key: key == 'a')  # Returns {'a': 1}
objPickBy({'a': None, 'b': 1}, lambda value, key: value is not None)  # Returns {'b': 1}
objPickBy({'a': 1}, lambda value, key: False)  # Returns {}

Released under the MIT License