.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);