ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
41 lines (38 loc) • 1.18 kB
JavaScript
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 };