UNPKG

ut2

Version:

一个现代 JavaScript 实用工具库。[点击查看在线文档]。

41 lines (38 loc) 1.18 kB
import { __values, __read } from 'tslib'; import forEach from './forEach.js'; import { stubFlase } from './internals/helpers.js'; import isMap from './isMap.js'; import isObject from './isObject.js'; var findKey = function (obj, predicate) { var e_1, _a; if (predicate === void 0) { predicate = stubFlase; } var key; if (isMap(obj)) { try { for (var obj_1 = __values(obj), obj_1_1 = obj_1.next(); !obj_1_1.done; obj_1_1 = obj_1.next()) { var _b = __read(obj_1_1.value, 2), k = _b[0], v = _b[1]; if (predicate(v, k)) { key = k; break; } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (obj_1_1 && !obj_1_1.done && (_a = obj_1.return)) _a.call(obj_1); } finally { if (e_1) throw e_1.error; } } } else if (isObject(obj)) { forEach(obj, function (v, k) { if (predicate(v, k)) { key = k; return false; } }); } return key; }; export { findKey as default };