ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
43 lines (39 loc) • 1.2 kB
JavaScript
;
var tslib = require('tslib');
var forEach = require('./forEach.js');
var helpers = require('./internals/helpers.js');
var isMap = require('./isMap.js');
var isObject = require('./isObject.js');
var findKey = function (obj, predicate) {
var e_1, _a;
if (predicate === void 0) { predicate = helpers.stubFlase; }
var key;
if (isMap(obj)) {
try {
for (var obj_1 = tslib.__values(obj), obj_1_1 = obj_1.next(); !obj_1_1.done; obj_1_1 = obj_1.next()) {
var _b = tslib.__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;
};
module.exports = findKey;