UNPKG

ut2

Version:

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

25 lines (21 loc) 702 B
'use strict'; 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;