@feugene/mu
Version:
Helpful TS utilities without dependencies
24 lines (21 loc) • 472 B
text/typescript
/**
* Filter value by deep key in object(array)
*
* @example
const scores = {
John: 2,
Sarah: 3,
Janet: 1
};
filter(scores, ([name, score]) => score > 1);
*
* @param {object} object
* @param {Function} predicate
* @returns {object}
*/
export default function filter<T>(
object: Record<PropertyKey, T>,
predicate: (fn: [string, T]) => boolean
): Record<PropertyKey, T> {
return Object.fromEntries(Object.entries(object).filter(predicate))
}