.identity

此方法只返回第一个参数。

var res1 = _.identity(10, 20);
// res1 now is 10

var res2 = _.identity("hello", "world");
// res2 now is "hello"

_.identity 在 lodash 文档中的含义是什么?

在整个 lodash 文档中使用此方法而不是 function(x){return x;}(或 ES6 等效 x => x)。

它通常意味着无转变或用作谓词:价值的真实性。

实施例 _.identity 中的文档 _.times

_.times 函数有两个参数。它在文档中表达如下: var res = _.times(n,[iteratee = _ .identity])

iteratee 作为他们遍历变换的值。

文档显示 iteratee 参数是可选的,如果省略它将具有默认值 _.identity在这种情况下意味着无转换****

var res = _.times(5);      // returns [0, 1, 2, 3, 4]

// means the same as:
var res = _.times(5, _.identity);

// which again does the same as:
var res = _.times(5, function(x){ return x; });

// or with the ES6 arrow syntax:
var res = _.times(5, x => x);

实施例 _.identity 中的文档 _.findKey_.findLastKey

_.findKey_.findLastKey 函数有两个参数。它在文档中表达如下: _. findKey(object,[predicate = _。identity ])_.findLastKey(object,[predicate = _ .identity])

这再次意味着第二个参数是可选的,如果省略它将具有默认值 _.identity在这种情况下意味着任何真正的任何东西的第一个(或最后一个)

var p = {
    name: "Peter Pan",
    age: "Not yet a grownup",
    location: "Neverland"
};

var res1 = _.findKey(p);        // returns "name"
var res2 = _.findLastKey(p);    // returns "location"

// means the same as:
var res1 = _.findKey(p, _.identity);
var res2 = _.findLastKey(p, _.identity);

// which again means the same as:
var res1 = _.findKey(p, function(x) { return x; }
var res2 = _.findLastKey(p, function(x) { return x; }

// or with ES6 arrow syntax:
var res1 = _.findKey(p, x => x);
var res2 = _.findKey(p, x => x);