Files
NapCatQQ/.pnpm-store/v3/files/41/9fba54a1fd859cf91ddf9f45bcbfa070e82dfc25d1fe24985cb8b07bddf50cd488e3a8bc70a5790ff6a04c4e95270a8668dd6588458e4fa54b4fb07dbb8a40
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

38 lines
1.0 KiB
Plaintext

import arrayMap from './_arrayMap.js';
import baseIteratee from './_baseIteratee.js';
import basePickBy from './_basePickBy.js';
import getAllKeysIn from './_getAllKeysIn.js';
/**
* Creates an object composed of the `object` properties `predicate` returns
* truthy for. The predicate is invoked with two arguments: (value, key).
*
* @static
* @memberOf _
* @since 4.0.0
* @category Object
* @param {Object} object The source object.
* @param {Function} [predicate=_.identity] The function invoked per property.
* @returns {Object} Returns the new object.
* @example
*
* var object = { 'a': 1, 'b': '2', 'c': 3 };
*
* _.pickBy(object, _.isNumber);
* // => { 'a': 1, 'c': 3 }
*/
function pickBy(object, predicate) {
if (object == null) {
return {};
}
var props = arrayMap(getAllKeysIn(object), function(prop) {
return [prop];
});
predicate = baseIteratee(predicate);
return basePickBy(object, props, function(value, path) {
return predicate(value, path[0]);
});
}
export default pickBy;