ut2
Version:
一个现代 JavaScript 实用工具库。[点击查看在线文档]。
25 lines (21 loc) • 702 B
JavaScript
;
var allKeys = require('./allKeys.js');
var helpers = require('./internals/helpers.js');
var native = require('./internals/native.js');
function invert(object, predicate) {
if (predicate === void 0) { predicate = helpers.stubTrue; }
var _keys = allKeys(object);
var result = {};
_keys.forEach(function (key) {
var value = object[key];
if (predicate(value, key)) {
var valueProp = value != null && typeof value.toString != 'function' ? native.objectProtoToString.call(value) : value;
result[valueProp] = key;
}
else {
result[key] = value;
}
});
return result;
}
module.exports = invert;