Skip to content

objPickBy

Returns a new object containing only the entries for which the callback returns trueTrue.

The callback receives (value, key), in that order, matching the rest of the ecosystem. Only the top level is inspected — a nested object is carried over as it is, never filtered.

The original object is not modified. If the first argument is not an object, nullNone is returned.

Parameters

NameTypeRequiredDefault
objobjectMap<String, dynamic>dict
The object to filter. It is not modified.
predicatefunctionbool Function(dynamic value, String key)Callable
Called as (value, key) for every entry. The entry is kept when it returns 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