underscore.js 源码分析(十三)
keys  values  pairs  invert functions  mapObject findKeykeys(Object)
使用 keys(Object) 用于获得 Object 的所有属性名称。 与 es6 中  Object.keys() 功能相同,不同的是做了兼容性处理。1  | function keys (obj) {  | 
values(Object)
使用 values(Object) 用于获得对象的所有的属性名称。 类似于使用 Object.values 获取到对象的属性值。1  | function values (obj) {  | 
pairs()
使用 pairs() 用于将一个对象转化为键值对的形式。自己写的函数:1  | function pairs (obj) {  | 
1  | _.pairs = function(obj) {  | 
invert()
invert(object)使用 invert 实现的是返回一个 object 的副本,在这个副本中, object 中的键和值互换。源码:1  | function invert(object) {  | 
functions
functions(object)返回一个对象中所有的方法名,并且是已经经过排序的方法。源码分析:1  | _.functions = function (obj) {  | 
mapObject
类似于使用数组的 map 方法,不同的是这个方法针对的是对象的 map 方法, 使用 mapObject 用来对于对象的属性值进行操作, 实现的源码如下:1  | _.mapObject = function(obj, iteratee, context) {  | 
findKey
_.findKey(obj, predicate, context)使用 findKey 返回的是 obj 中第一个满足 predicate 函数的 key。1  | let numbers = {  | 
源码分析
findKey 源码:1  | _.findKey = function (obj, predicate, context) {  |