Lodash 中文文档 (v3.10.1) - “Lang” 方法
Lodash 中文文檔 (v3.10.1) - “Lang” 方法
Translated by PeckZeg
Original Docs: Lodash v3.10.1 Docs
“Lang” 方法
_.clone(value, [isDeep], [customizer], [thisArg])
創(chuàng)建一個(gè) value 的克隆。如果 isDeep 為 true,則嵌套對(duì)象也會(huì)被克隆,否則,其將被賦值為引用對(duì)象。如果指定了 customizer,那么其將被用來(lái)調(diào)用提供克隆的值。如果 customizer 返回 undefined,克隆過(guò)程將被方法本身代替。customizer 綁定 thisArg,并在執(zhí)行時(shí)最多傳入三個(gè)參數(shù):value, [index|key], [object]。
注意:該方法基于 結(jié)構(gòu)化克隆算法。arguments 對(duì)象的可枚舉屬性和構(gòu)造函數(shù)創(chuàng)建的對(duì)象不同于被源生 Object 克隆出的 Object。不可克隆的值如函數(shù)、DOM 結(jié)點(diǎn)、映射、結(jié)合 和弱映射將會(huì)返回空對(duì)象。
參數(shù)
value (*) : 待克隆的值
[isDeep] (boolean) : 指定是否深度克隆
[customizer] (Function) : 克隆值的定制器函數(shù)
[thisArg] (*) : customizer 綁定的 this
返回
(*) : 返回克隆的值
示例
var users = [{ 'user': 'barney' },{ 'user': 'fred' } ];var shallow = _.clone(users); shallow[0] === users[0]; // → truevar deep = _.clone(users, true); deep[0] === users[0]; // → false// 使用定制回調(diào)函數(shù) var el = _.clone(document.body, function(value) {if (_.isElement(value)) {return value.cloneNode(false);} });el === document.body // → false el.nodeName // → BODY el.childNodes.length; // → 0_.cloneDeep(value, [customizer], [thisArg])
創(chuàng)建一個(gè)深度克隆對(duì)象。如果指定了 customizer,那么其將被用來(lái)調(diào)用提供克隆的值。如果 customizer 返回 undefined,克隆過(guò)程將被方法本身代替。customizer 綁定 thisArg,并在執(zhí)行時(shí)最多傳入三個(gè)參數(shù):value, [index|key], [object]。
注意:該方法基于 結(jié)構(gòu)化克隆算法。arguments 對(duì)象的可枚舉屬性和構(gòu)造函數(shù)創(chuàng)建的對(duì)象不同于被源生 Object 克隆出的 Object。不可克隆的值如函數(shù)、DOM 結(jié)點(diǎn)、映射、結(jié)合 和弱映射將會(huì)返回空對(duì)象。
參數(shù)
value (*) : 待深度克隆的值
[customizer] (Function) : 克隆值的定制器函數(shù)
[thisArg] (*) : customizer 綁定的 this
返回
(*) : 返回深度克隆值
示例
var users = [{ 'user': 'barney' },{ 'user': 'fred' } ];var deep = _.cloneDeep(users); deep[0] === users[0]; // → false// 使用定制器回調(diào)函數(shù) var el = _.cloneDeep(document.body, function(value) {if (_.isElement(value)) {return value.cloneNode(true);} });el === document.body // → false el.nodeName // → BODY el.childNodes.length; // → 20_.gt(value, other)
檢查 value 是否大于 other。
參數(shù)
value (*) : 待比較的值
other (*) : 另一個(gè)待比較的值
返回
(boolean) : value 大于 other 時(shí)返回 true,否則返回 false
示例
_.gt(3, 1); // → true_.gt(3, 3); // → false_.gt(1, 3); // → false_.gte(value, other)
檢查 value 是否大于等于 other。
參數(shù)
value (*) : 待比較的值
other (*) : 另一個(gè)待比較的值
返回
(boolean) : value 大于等于 other 時(shí)返回 true,否則返回 false
示例
_.gte(3, 1); // → true_.gte(3, 3); // → true_.gte(1, 3); // → false_.isArguments(value)
檢查 value 是否被列為參數(shù)。
參數(shù)
value (*) : 待檢查的值
返回
(boolean) : value 被列為參數(shù)則返回 true,否則返回 false
示例
_.isArguments(function() { return arguments; }()); // → true_.isArguments([1, 2, 3]); // → false_.isArray(value)
檢查 value 是否被列為數(shù)組對(duì)象。
參數(shù)
value (*) : 待檢查的值
返回
(boolean) : 如果 value 為正確的分類返回 true,否則則返回 false
示例
_.isArray([1, 2, 3]); // → true_.isArray(function() { return arguments; }()); // → false_.isBoolean(value)
檢查 value 是否被列為原始布爾值或布爾值對(duì)象。
參數(shù)
value (*) : 待檢查的值
返回
(boolean) : value 被正確歸類時(shí)返回 true,否則返回 false
示例
_.isBoolean(false); // → true_.isBoolean(null); // → false_.isDate(value)
檢查 value 是否被列為 Date 對(duì)象。
參數(shù)
value (*) : 待檢查的值
返回
(boolean) : value 被正確歸類時(shí)返回 true,否則返回 false
示例
_.isDate(new Date); // → true_.isDate('Mon April 23 2012'); // → false_.isElement(value)
檢查 value 是否為 DOM 元素。
參數(shù)
value (*) : 待檢查的值
返回
(boolean) : value 為 DOM 元素時(shí)返回 true,否則返回 false
示例
_.isElement(document.body); // → true_.isElement('<body>'); // → false_.isEmpty(value)
檢查 value 是否為空。除了 arguments 對(duì)象、數(shù)組、字符串或 類 jQuery 集合的 length 值大于 0 或者對(duì)象擁有可枚舉屬性時(shí),其他情況會(huì)把值考慮為空。
參數(shù)
value (Array|Object|string) : 待檢查的值
返回
(boolean) : value 為空時(shí)返回 true,否則返回 false
示例
_.isEmpty(null); // → true_.isEmpty(true); // → true_.isEmpty(1); // → true_.isEmpty([1, 2, 3]); // → false_.isEmpty({ 'a': 1 }); // → false_.isEqual(value, other, [customizer], [thisArg])
在兩個(gè)值之間進(jìn)行深度比較以確定它們是否相等。如果提供了 customizer,其將被用來(lái)執(zhí)行比較兩個(gè)值。如果 customizer 返回 undefined,那么比較過(guò)程被方法本身代替。customizer 綁定 thisArg 并在執(zhí)行時(shí)最多傳入三個(gè)值:value, other, index|key。
注意:該方法支持比較數(shù)組、布爾值、Date 對(duì)象,數(shù)值,Object 對(duì)象,正則表達(dá)式和字符串。對(duì)象間比較其自有值而非內(nèi)置值。不支持比較函數(shù)和 DOM 結(jié)點(diǎn)。提供一個(gè)定制器函數(shù)用來(lái)擴(kuò)展比較其他值的支持。
別名
_.eq
參數(shù)
value (*) : 待比較的值
other (*) : 另一個(gè)待比較的值
[customizer] (Function) : 定制比較值的函數(shù)
[thisArg] (*) : customizer 綁定的 this
返回
(boolean) : 如果值之間相等時(shí)返回 true,否則返回 false
示例
var object = { 'user': 'fred' }; var other = { 'user': 'fred' };object == other; // → false_.isEqual(object, other); // → true// using a customizer callback var array = ['hello', 'goodbye']; var other = ['hi', 'goodbye'];_.isEqual(array, other, function(value, other) {if (_.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/)) {return true;} }); // → true_.isError(value)
檢查值是否為 Error、 EvalError、 RangeError、 ReferenceError、 SyntaxError、 TypeError 或 URIError 對(duì)象。
參數(shù)
value (*) : 待檢查的值
返回
(boolean) : value 為錯(cuò)誤對(duì)象時(shí)返回 true,否則返回 false
示例
_.isError(new Error); // → true_.isError(Error); // → false_.isFinite(value)
檢查 value 是否為原始無(wú)限數(shù)值。
注意:該方法基于 Number.isFinite。
參數(shù)
value (*) : 待檢查的值
返回
(boolean) : value 為無(wú)限數(shù)值返回 true,否則返回 false。
示例
_.isFinite(10); // → true_.isFinite('10'); // → false_.isFinite(true); // → false_.isFinite(Object(10)); // → false_.isFinite(Infinity); // → false_.isFunction(value)
檢查 value 是否被列為函數(shù)對(duì)象。
參數(shù)
value (*) : 待檢查的值
返回
(boolean) : value 被正確歸類時(shí)返回 true,否則返回 false
示例
_.isFunction(_); // → true_.isFunction(/abc/); // → false_.isMatch(object, source, [customizer], [thisArg])
在 object 與 source 之間執(zhí)行深度比較,以決定 object 是否包含相等的屬性值。如果提供了 customizer,其將被用來(lái)執(zhí)行比較兩個(gè)值。如果 customizer 返回 undefined,那么比較過(guò)程被方法本身代替。customizer 綁定 thisArg 并在執(zhí)行時(shí)最多傳入三個(gè)值:value, other, index|key。
注意:該方法支持比較數(shù)組的屬性、布爾值、Date 對(duì)象,數(shù)值、Object 對(duì)象,正則表達(dá)式和數(shù)值。不支持比較函數(shù)和 DOM 結(jié)點(diǎn)。提供一個(gè)定制器函數(shù)用來(lái)擴(kuò)展比較其他值的支持。
參數(shù)
object (Object) : 待檢查的值
source (Object) : 待匹配的屬性值的對(duì)象
[customizer] (Function) : 定制比較值的函數(shù)
[thisArg] (*) : customizer 綁定的 this
返回
(boolean) : 如果 object 匹配返回 true,否則返回 false
示例
var object = { 'user': 'fred', 'age': 40 };_.isMatch(object, { 'age': 40 }); // → true_.isMatch(object, { 'age': 36 }); // → false// 使用定制器回調(diào)函數(shù) var object = { 'greeting': 'hello' }; var source = { 'greeting': 'hi' };_.isMatch(object, source, function(value, other) {return _.every([value, other], RegExp.prototype.test, /^h(?:i|ello)$/) || undefined; }); // → true_.isNaN(value)
檢查 value 是否為 NaN(非數(shù)值)。
注意:該方法與 isNaN不同,對(duì) undefined 和其他非數(shù)值都返回 true
參數(shù)
value (*) : 待檢查的值
返回
(boolean) : 如果 value 為 NaN 返回 true,否則返回 false
示例
_.isNaN(NaN); // → true_.isNaN(new Number(NaN)); // → trueisNaN(undefined); // → true_.isNaN(undefined); // → false_.isNative(value)
檢查 value 是否為原生函數(shù)。
參數(shù)
value (*) : 待檢查的值
返回
(boolean) : value 為原生函數(shù)時(shí)返回 true,否則返回 false
示例
_.isNative(Array.prototype.push); // → true_.isNative(_); // → false_.isNull(value)
檢查 value 是否為 null。
參數(shù)
value (*) : 待檢查的值
返回
(boolean) : value 為 null 時(shí)返回 true,否則返回 false
示例
_.isNull(null); // → true_.isNull(void 0); // → false_.isNumber(value)
檢查 value 是否被指定為 Number 字面量或?qū)ο蟆?/p>
注意:如果要排除被指定為數(shù)值的 Infinity、-Infinity 和 NaN,使用 _.isFinite 方法。
參數(shù)
value (*) : 待檢查的值
返回
(boolean) : value 正確被歸類時(shí)返回 true,否則返回 false
示例
_.isNumber(8.4); // → true_.isNumber(NaN); // → true_.isNumber('8.4'); // → false_.isObject(value)
檢查 value 是否為 Object 語(yǔ)言類型。(例:數(shù)組、函數(shù)、對(duì)象、正則表達(dá)式,new Number(0) 和 new String(''))
參數(shù)
value (*) : 待檢查的值
返回
(boolean) : value 為對(duì)象時(shí)返回 true,否則返回 false
示例
_.isObject({}); // → true_.isObject([1, 2, 3]); // → true_.isObject(1); // → false_.isPlainObject(value)
檢查 value 是否為一個(gè)純粹的對(duì)象,純粹的對(duì)象就是使用 Object 構(gòu)造器創(chuàng)建的對(duì)象或一個(gè) [[Prototype]] 為 null 的對(duì)象。
注意:該方法假定由 Object 構(gòu)造器創(chuàng)建的對(duì)象沒(méi)有內(nèi)置可枚舉屬性。
參數(shù)
value (*) : 待檢查的值
返回
(boolean) : value 是純粹的對(duì)象則返回 true,否則返回 false
示例
function Foo() {this.a = 1; }_.isPlainObject(new Foo); // → false_.isPlainObject([1, 2, 3]); // → false_.isPlainObject({ 'x': 0, 'y': 0 }); // → true_.isPlainObject(Object.create(null)); // → true_.isRegExp(value)
檢查 value 是否被指定為 RegExp 對(duì)象。
參數(shù)
value (*) : 待檢查的值
返回
(boolean) : value 被正確歸類時(shí)返回 true,否則返回 false
示例
_.isRegExp(/abc/); // → true_.isRegExp('/abc/'); // → false_.isString(value)
檢查 value 是否被歸類為 String 字面量或?qū)ο蟆?/p>
參數(shù)
value (*) : 待檢查的值
返回
(boolean) : value 被正確歸類時(shí)返回 true,否則返回 false
示例
_.isString('abc'); // → true_.isString(1); // → false_.isTypedArray(value)
檢查 value 是否被歸類為類型數(shù)組。
參數(shù)
value (*) : 待檢查的值
返回
(boolean) : value 被正確歸類時(shí)返回 true,否則返回 false
示例
_.isTypedArray(new Uint8Array); // → true_.isTypedArray([]); // → false_.isUndefined(value)
檢查 value 是否為 undefined。
參數(shù)
value (*) : 待檢查的值
返回
(boolean) : value 為 undefined 時(shí)返回 true,否則返回 false
示例
_.isUndefined(void 0); // → true_.isUndefined(null); // → false_.lt(value, other)
檢查 value 是否小于 other。
參數(shù)
value (*) : 待比較的值
other (*) : 另一個(gè)待比較的值
返回
(boolean) : value 比 other 小時(shí)返回 true,否則返回 false
示例
_.lt(1, 3); // → true_.lt(3, 3); // → false_.lt(3, 1); // → false_.lte(value, other)
檢查 value 是否小于等于 other。
參數(shù)
value (*) : 待比較的值
other (*) : 另一個(gè)待比較的值
返回
(boolean) : value 小于或等于other 時(shí)返回 true,否則返回 false
示例
_.lte(1, 3); // → true_.lte(3, 3); // → true_.lte(3, 1); // → false_.toArray(value)
將 value 轉(zhuǎn)換為數(shù)組。
參數(shù)
value _(*)_: 待轉(zhuǎn)換的值
返回
(Array) : 返回轉(zhuǎn)換后的數(shù)組
示例
(function() {return _.toArray(arguments).slice(1); }(1, 2, 3)); // → [2, 3]_.toPlainObject(value)
轉(zhuǎn)換 value 為純粹的對(duì)象,該方法會(huì)將 value 的內(nèi)置可枚舉對(duì)象轉(zhuǎn)換為純粹的對(duì)象的自有屬性。
參數(shù)
value (*) : 待轉(zhuǎn)換的值
返回
(Object) : 返回已轉(zhuǎn)換的純粹的對(duì)象
示例
function Foo() {this.b = 2; }Foo.prototype.c = 3;_.assign({ 'a': 1 }, new Foo); // → { 'a': 1, 'b': 2 }_.assign({ 'a': 1 }, _.toPlainObject(new Foo)); // → { 'a': 1, 'b': 2, 'c': 3 } 《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的Lodash 中文文档 (v3.10.1) - “Lang” 方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JavaScript Array.pro
- 下一篇: 降低http请求次数