HH\Lib\Dict\filter_with_key
Just like filter, but your predicate can include the key as well as the value
namespace HH\Lib\Dict;
function filter_with_key<Tk as arraykey, Tv>(
KeyedTraversable<Tk, Tv> $traversable,
(function(Tk, Tv): bool) $predicate,
): dict<Tk, Tv>;
To use an async predicate, see Dict\filter_with_key_async()
.
Time complexity: O(n * p), where p is the complexity of $value_predicate
(which is O(1) if not provided explicitly)
Space complexity: O(n)
Parameters
KeyedTraversable<Tk,
Tv> $traversable
(function(Tk, Tv): bool) $predicate
Returns
dict<Tk, Tv>