Lang (语言)
_.castArray(value)
引入版本 4.4.0
如果 value 不是数组,则将其转换为数组。
参数
- value
(*): 要检查的值。
返回
- (Array): 返回转换后的数组。
示例
_.castArray(1);
// => [1]
_.castArray({ a: 1 });
// => [{ 'a': 1 }]
_.castArray("abc");
// => ['abc']
_.castArray(null);
// => [null]
_.castArray(undefined);
// => [undefined]
_.castArray();
// => []
var array = [1, 2, 3];
console.log(_.castArray(array) === array);
// => true_.clone(value)
引入版本 0.1.0
创建一个 value 的 浅拷贝。
注意: 这个方法大致基于 结构化克隆算法,支持克隆数组、ArrayBuffer、布尔值、Date 对象、Map、数字、Object 对象、正则表达式、Set、字符串、Symbol 以及 TypedArray。 arguments 对象的自身可枚举属性会被克隆为普通对象。 对于不可克隆的值(例如错误对象、函数、DOM 节点和 WeakMap),会返回一个空对象。
参数
- value
(*): 要克隆的值。
返回
- (*): 返回克隆后的值。
示例
var objects = [{ a: 1 }, { b: 2 }];
var shallow = _.clone(objects);
console.log(shallow[0] === objects[0]);
// => true (因为是浅拷贝,所以内部对象的引用保持不变)_.cloneDeep(value)
引入版本 1.0.0
这个方法类似 _.clone,区别在于它会 递归地 克隆 value。(即深拷贝)。
参数
- value
(*): 要深拷贝的值。
返回
- (*): 返回深拷贝后的值。
示例
var objects = [{ a: 1 }, { b: 2 }];
var deep = _.cloneDeep(objects);
console.log(deep[0] === objects[0]);
// => false_.cloneDeepWith(value, [customizer])
引入版本 4.0.0
这个方法类似 _.cloneWith,区别在于它会 递归地 克隆 value。
参数
- value
(*): 要深拷贝的值。 - [customizer]
(Function): 用来定制克隆的函数。
返回
- (*): 返回深拷贝后的值。
示例
function customizer(value) {
if (_.isElement(value)) {
return value.cloneNode(true);
}
}
var el = _.cloneDeepWith(document.body, customizer);
console.log(el === document.body);
// => false
console.log(el.nodeName);
// => 'BODY'
console.log(el.childNodes.length);
// => 20_.cloneWith(value, [customizer])
引入版本 4.0.0
这个方法类似 _.clone,区别在于它接受一个 customizer(定制函数)来生成克隆值。如果 customizer 返回 undefined,克隆操作将由本方法处理(即使用默认克隆行为)。
customizer 调用时会传入四个参数:(value [, index|key, object, stack])。
参数
- value
(*): 要克隆的值。 - [customizer]
(Function): 用来定制克隆的函数。
返回
- (*): 返回克隆后的值。
示例
function customizer(value) {
if (_.isElement(value)) {
return value.cloneNode(false);
}
}
var el = _.cloneWith(document.body, customizer);
console.log(el === document.body);
// => false
console.log(el.nodeName);
// => 'BODY'
console.log(el.childNodes.length);
// => 0_.conformsTo(object, source)
引入版本 4.14.0
通过调用 source 对象中包含的断言属性(predicate properties)与 object 中相应的属性值进行匹配,来检查 object 是否符合 source。
注意: 当 source 参数被部分应用时,此方法等同于 _.conforms。
参数
- object
(Object): 要检查的对象。 - source
(Object): 包含断言属性的对象,用于进行符合性检查。
返回
- (boolean): 如果
object符合source,返回true,否则返回false。
示例
var object = { a: 1, b: 2 };
_.conformsTo(object, {
b: function (n) {
return n > 1;
},
});
// => true
_.conformsTo(object, {
b: function (n) {
return n > 2;
},
});
// => false_.eq(value, other)
引入版本 4.0.0
执行 SameValueZero 比较来确定两个值是否相等。
参数
- value
(*): 要比较的值。 - other
(*): 另一个要比较的值。
返回
- (boolean): 如果两个值相等返回
true,否则返回false。
示例
var object = { a: 1 };
var other = { a: 1 };
_.eq(object, object);
// => true
_.eq(object, other);
// => false
_.eq("a", "a");
// => true
_.eq("a", Object("a"));
// => false
_.eq(NaN, NaN);
// => true_.gt(value, other)
引入版本 3.9.0
检查 value 是否大于 other。
参数
- value
(*): 要比较的值。 - other
(*): 另一个要比较的值。
返回
- (boolean): 如果
value大于other返回true,否则返回false。
示例
_.gt(3, 1);
// => true
_.gt(3, 3);
// => false
_.gt(1, 3);
// => false_.gte(value, other)
引入版本 3.9.0
检查 value 是否大于或等于 other。
参数
- value
(*): 要比较的值。 - other
(*): 另一个要比较的值。
返回
- (boolean): 如果
value大于或等于other返回true,否则返回false。
示例
_.gte(3, 1);
// => true
_.gte(3, 3);
// => true
_.gte(1, 3);
// => false_.isArguments(value)
引入版本 0.1.0
检查 value 是否是一个类 arguments 对象。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是一个 arguments 对象,返回true,否则返回false。
示例
_.isArguments(
(function () {
return arguments;
})()
);
// => true
_.isArguments([1, 2, 3]);
// => false_.isArray(value)
引入版本 0.1.0
检查 value 是否被归类为 Array 对象。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是数组返回true,否则返回false。
示例
_.isArray([1, 2, 3]);
// => true
_.isArray(document.body.children);
// => false
_.isArray("abc");
// => false
_.isArray(_.noop);
// => false_.isArrayBuffer(value)
引入版本 4.3.0
检查 value 是否是 ArrayBuffer 对象。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是 ArrayBuffer 对象返回true,否则返回false。
示例
_.isArrayBuffer(new ArrayBuffer(2));
// => true
_.isArrayBuffer(new Array(2));
// => false_.isArrayLike(value)
引入版本 4.0.0
检查 value 是否是类数组。
如果一个值不是函数,且拥有一个整数类型的 length 属性,其值大于或等于 0 且小于或等于 Number.MAX_SAFE_INTEGER,那么它就被认为是类数组。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是类数组返回true,否则返回false。
示例
_.isArrayLike([1, 2, 3]);
// => true
_.isArrayLike(document.body.children);
// => true
_.isArrayLike("abc");
// => true
_.isArrayLike(_.noop);
// => false_.isArrayLikeObject(value)
引入版本 4.0.0
这个方法类似 _.isArrayLike,区别在于它还会检查 value 是否是一个 对象。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是类数组对象返回true,否则返回false。
示例
_.isArrayLikeObject([1, 2, 3]);
// => true
_.isArrayLikeObject(document.body.children);
// => true
_.isArrayLikeObject("abc");
// => false
_.isArrayLikeObject(_.noop);
// => false_.isBoolean(value)
引入版本 0.1.0
检查 value 是否是原始布尔值或者对象。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是布尔值返回true,否则返回false。
示例
_.isBoolean(false);
// => true
_.isBoolean(null);
// => false_.isBuffer(value)
引入版本 4.3.0
检查 value 是否是 Buffer。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是 Buffer 返回true,否则返回false。
示例
_.isBuffer(new Buffer(2));
// => true
_.isBuffer(new Uint8Array(2));
// => false_.isDate(value)
引入版本 0.1.0
检查 value 是否被归类为 Date 对象。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是 Date 对象返回true,否则返回false。
示例
_.isDate(new Date());
// => true
_.isDate("Mon April 23 2012");
// => false_.isElement(value)
引入版本 0.1.0
检查 value 是否可能是 DOM 元素。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是 DOM 元素返回true,否则返回false。
示例
_.isElement(document.body);
// => true
_.isElement("<body>");
// => false_.isEmpty(value)
引入版本 0.1.0
检查 value 是否为一个空对象、集合、Map 或 Set。
- 对象:如果没有自身的可枚举字符串键属性,则被认为是空的。
- 类数组(如
arguments对象、数组、Buffer、字符串或 jQuery 集合):如果length为0,则被认为是空的。 - Map 和 Set:如果
size为0,则被认为是空的。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value为空返回true,否则返回false。
示例
_.isEmpty(null);
// => true
_.isEmpty(true);
// => true
_.isEmpty(1);
// => true
_.isEmpty([1, 2, 3]);
// => false
_.isEmpty({ a: 1 });
// => false_.isEqual(value, other)
引入版本 0.1.0
执行两个值之间的 深比较(deep comparison)来确定它们是否等价。
注意: 此方法支持比较 arrays(数组)、array buffers、booleans(布尔值)、date objects(日期对象)、error objects(错误对象)、maps、numbers(数字)、Object objects(对象)、regexes(正则表达式)、sets、strings(字符串)、symbols 以及 typed arrays(类型化数组)。 Object 对象仅比较其自身的、可枚举的属性(不包含继承属性)。 函数和 DOM 节点使用严格相等(===)进行比较。
参数
- value
(*): 要比较的值。 - other
(*): 另一个要比较的值。
返回
- (boolean): 如果两个值等价返回
true,否则返回false。
示例
var object = { a: 1 };
var other = { a: 1 };
_.isEqual(object, other);
// => true
console.log(object === other);
// => false_.isEqualWith(value, other, [customizer])
引入版本 4.0.0
这个方法类似 _.isEqual,区别在于它接受一个 customizer(定制比较器),调用该函数来比较值。如果 customizer 返回 undefined,比较将由本方法内部处理(即使用默认的深比较行为)。
customizer 调用时会传入最多六个参数:(objValue, othValue [, index|key, object, other, stack])。
参数
- value
(*): 要比较的值。 - other
(*): 另一个要比较的值。 - [customizer]
(Function): 用来定制比较的函数。
返回
- (boolean): 如果两个值等价返回
true,否则返回false。
示例
function isGreeting(value) {
return /^h(?:i|ello)$/.test(value);
}
function customizer(objValue, othValue) {
if (isGreeting(objValue) && isGreeting(othValue)) {
return true;
}
}
var array = ["hello", "goodbye"];
var other = ["hi", "goodbye"];
_.isEqualWith(array, other, customizer);
// => true_.isError(value)
引入版本 3.0.0
检查 value 是否是 Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError 或 URIError 对象。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是一个 error 对象返回true,否则返回false。
示例
_.isError(new Error());
// => true
_.isError(Error);
// => false_.isFinite(value)
引入版本 0.1.0
检查 value 是否是原始的有限数值(finite primitive number)。
注意: 此方法基于 Number.isFinite。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是有限数值返回true,否则返回false。
示例
_.isFinite(3);
// => true
_.isFinite(Number.MIN_VALUE);
// => true
_.isFinite(Infinity);
// => false
_.isFinite("3");
// => false_.isFunction(value)
引入版本 0.1.0
检查 value 是否被归类为 Function 对象。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是函数返回true,否则返回false。
示例
_.isFunction(_);
// => true
_.isFunction(/abc/);
// => false_.isInteger(value)
引入版本 4.0.0
检查 value 是否为一个整数。
注意: 这个方法基于 Number.isInteger。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是整数返回true,否则返回false。
示例
_.isInteger(3);
// => true
_.isInteger(Number.MIN_VALUE);
// => false
_.isInteger(Infinity);
// => false
_.isInteger("3");
// => false_.isLength(value)
引入版本 4.0.0
检查 value 是否为有效的类数组长度。
注意: 此方法大致基于 ToLength。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是有效长度返回true,否则返回false。
示例
_.isLength(3);
// => true
_.isLength(Number.MIN_VALUE);
// => false
_.isLength(Infinity);
// => false
_.isLength("3");
// => false_.isMap(value)
引入版本 4.3.0
检查 value 是否被归类为 Map 对象。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是 Map 对象返回true,否则返回false。
示例
_.isMap(new Map());
// => true
_.isMap(new WeakMap());
// => false_.isMatch(object, source)
引入版本 3.0.0
执行两个对象之间的 深度的部分比较(partial deep comparison),以确定 object 是否包含与 source 等价的属性值。
注意: 当 source 为部分应用参数时,此方法等同于 _.matches。 部分比较时,空的数组或对象 source 值可以匹配任何数组或对象 object 值。请参考 _.isEqual 了解支持的值比较列表。
参数
- object
(Object): 要检查的对象。 - source
(Object): 包含要匹配属性值的对象。
返回
- (boolean): 如果
object匹配,返回true,否则返回false。
示例
var object = { a: 1, b: 2 };
_.isMatch(object, { b: 2 });
// => true
_.isMatch(object, { b: 1 });
// => false_.isMatchWith(object, source, [customizer])
引入版本 4.0.0
这个方法类似 _.isMatch,区别在于它接受一个 customizer(定制比较器),调用该函数来比较值。如果 customizer 返回 undefined,比较将由本方法内部处理(即使用默认的比较行为)。
customizer 调用时会传入五个参数:(objValue, srcValue, index|key, object, source)。
参数
- object
(Object): 要检查的对象。 - source
(Object): 包含要匹配属性值的对象。 - [customizer]
(Function): 用来定制比较的函数。
返回
- (boolean): 如果
object匹配,返回true,否则返回false。
示例
function isGreeting(value) {
return /^h(?:i|ello)$/.test(value);
}
function customizer(objValue, srcValue) {
if (isGreeting(objValue) && isGreeting(srcValue)) {
return true;
}
}
var object = { greeting: "hello" };
var source = { greeting: "hi" };
_.isMatchWith(object, source, customizer);
// => true_.isNaN(value)
引入版本 0.1.0
检查 value 是否是 NaN。
注意: 此方法基于 Number.isNaN,与全局的 isNaN 不同。全局的 isNaN 对于 undefined 和其他非数字值也会返回 true。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是NaN返回true,否则返回false。
示例
_.isNaN(NaN);
// => true
_.isNaN(new Number(NaN));
// => true
isNaN(undefined);
// => true
_.isNaN(undefined);
// => false_.isNative(value)
引入版本 3.0.0
检查 value 是否是一个原始的原生函数。
注意: 在存在 core-js 包的环境中,该方法无法可靠地检测原生函数,因为 core-js 会规避此类检测。尽管有多次请求,但 core-js 维护者已明确表示:任何尝试修复此检测的举动都将受阻。结果就是我们别无选择(可能会导致检测失败)。不幸的是,这也影响了像 babel-polyfill 这样依赖 core-js 的包。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是原生函数返回true,否则返回false。
示例
_.isNative(Array.prototype.push);
// => true
_.isNative(_);
// => false_.isNil(value)
引入版本 4.0.0
检查 value 是否是 null 或 undefined。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是null或undefined返回true,否则返回false。
示例
_.isNil(null);
// => true
_.isNil(void 0);
// => true
_.isNil(NaN);
// => false_.isNull(value)
引入版本 0.1.0
检查 value 是否为 null。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value为null返回true,否则返回false。
示例
_.isNull(null);
// => true
_.isNull(void 0);
// => false_.isNumber(value)
引入版本 0.1.0
检查 value 是否被归类为 Number 原始值或对象。
注意: 要排除 Infinity、-Infinity 和 NaN(它们在 JavaScript 中都被归类为数字),请使用 _.isFinite 方法。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是数字返回true,否则返回false。
示例
_.isNumber(3);
// => true
_.isNumber(Number.MIN_VALUE);
// => true
_.isNumber(Infinity);
// => true
_.isNumber("3");
// => false_.isObject(value)
引入版本 0.1.0
检查 value 是否为 Object 的 语言类型。(即:数组、函数、对象、正则表达式、new Number(0) 以及 new String('') 等)。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是对象返回true,否则返回false。
示例
_.isObject({});
// => true
_.isObject([1, 2, 3]);
// => true
_.isObject(_.noop);
// => true
_.isObject(null);
// => false_.isObjectLike(value)
引入版本 4.0.0
检查 value 是否是 类对象。如果一个值不是 null 且 typeof 结果是 "object",则被认为是类对象。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是类对象返回true,否则返回false。
示例
_.isObjectLike({});
// => true
_.isObjectLike([1, 2, 3]);
// => true
_.isObjectLike(_.noop);
// => false
_.isObjectLike(null);
// => false_.isPlainObject(value)
引入版本 0.8.0
检查 value 是否是 普通对象(plain object)。也就是说,该对象由 Object 构造函数创建,或者其 [[Prototype]] 为 null。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是普通对象返回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)
引入版本 0.1.0
检查 value 是否被归类为 RegExp 对象。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是正则表达式返回true,否则返回false。
示例
_.isRegExp(/abc/);
// => true
_.isRegExp("/abc/");
// => false_.isSafeInteger(value)
引入版本 4.0.0
检查 value 是否是一个安全整数(safe integer)。一个整数被认为是安全的,前提是它是一个 IEEE-754 双精度数字,且不是舍入不安全整数的结果。
注意: 此方法基于 Number.isSafeInteger。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是安全整数返回true,否则返回false。
示例
_.isSafeInteger(3);
// => true
_.isSafeInteger(Number.MIN_VALUE);
// => false
_.isSafeInteger(Infinity);
// => false
_.isSafeInteger("3");
// => false_.isSet(value)
引入版本 4.3.0
检查 value 是否被归类为 Set 对象。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是 Set 对象返回true,否则返回false。
示例
_.isSet(new Set());
// => true
_.isSet(new WeakSet());
// => false_.isString(value)
引入版本 0.1.0
检查 value 是否被归类为 String 原始值或对象。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是字符串返回true,否则返回false。
示例
_.isString("abc");
// => true
_.isString(1);
// => false_.isSymbol(value)
引入版本 4.0.0
检查 value 是否被归类为 Symbol 原始值或对象。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是 symbol 返回true,否则返回false。
示例
_.isSymbol(Symbol.iterator);
// => true
_.isSymbol("abc");
// => false_.isTypedArray(value)
引入版本 3.0.0
检查 value 是否被归类为类型化数组(typed array)。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是类型化数组返回true,否则返回false。
示例
_.isTypedArray(new Uint8Array());
// => true
_.isTypedArray([]);
// => false_.isUndefined(value)
引入版本 0.1.0
检查 value 是否是 undefined。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是undefined返回true,否则返回false。
示例
_.isUndefined(void 0);
// => true
_.isUndefined(null);
// => false_.isWeakMap(value)
引入版本 4.3.0
检查 value 是否被归类为 WeakMap 对象。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是 WeakMap 对象返回true,否则返回false。
示例
_.isWeakMap(new WeakMap());
// => true
_.isWeakMap(new Map());
// => false_.isWeakSet(value)
引入版本 4.3.0
检查 value 是否被归类为 WeakSet 对象。
参数
- value
(*): 要检查的值。
返回
- (boolean): 如果
value是 WeakSet 对象返回true,否则返回false。
示例
_.isWeakSet(new WeakSet());
// => true
_.isWeakSet(new Set());
// => false_.lt(value, other)
引入版本 3.9.0
检查 value 是否小于 other。
参数
- value
(*): 要比较的值。 - other
(*): 另一个要比较的值。
返回
- (boolean): 如果
value小于other返回true,否则返回false。
示例
_.lt(1, 3);
// => true
_.lt(3, 3);
// => false
_.lt(3, 1);
// => false这是 _.lte 方法的中文翻译。请将其追加到 docs/lang.md 文件中。
_.lte(value, other)
引入版本 3.9.0
检查 value 是否小于或等于 other。
参数
- value
(*): 要比较的值。 - other
(*): 另一个要比较的值。
返回
- (boolean): 如果
value小于或等于other返回true,否则返回false。
示例
_.lte(1, 3);
// => true
_.lte(3, 3);
// => true
_.lte(3, 1);
// => false_.toArray(value)
引入版本 0.1.0
将 value 转换为一个数组。
参数
- value
(*): 要转换的值。
返回
- (Array): 返回转换后的数组。
示例
_.toArray({ a: 1, b: 2 });
// => [1, 2]
_.toArray("abc");
// => ['a', 'b', 'c']
_.toArray(1);
// => []
_.toArray(null);
// => []_.toFinite(value)
引入版本 4.12.0
将 value 转换为一个有限数字。
参数
- value
(*): 要转换的值。
返回
- (number): 返回转换后的数字。
示例
_.toFinite(3.2);
// => 3.2
_.toFinite(Number.MIN_VALUE);
// => 5e-324
_.toFinite(Infinity);
// => 1.7976931348623157e+308
_.toFinite("3.2");
// => 3.2_.toInteger(value)
引入版本 4.0.0
将 value 转换为整数。
注意: 这个方法大致基于 ToInteger。
参数
- value
(*): 要转换的值。
返回
- (number): 返回转换后的整数。
示例
_.toInteger(3.2);
// => 3
_.toInteger(Number.MIN_VALUE);
// => 0
_.toInteger(Infinity);
// => 1.7976931348623157e+308
_.toInteger("3.2");
// => 3_.toLength(value)
引入版本 4.0.0
将 value 转换为用作类数组对象长度的整数。
注意: 此方法基于 ToLength。
参数
- value
(*): 要转换的值。
返回
- (number): 返回转换后的整数。
示例
_.toLength(3.2);
// => 3
_.toLength(Number.MIN_VALUE);
// => 0
_.toLength(Infinity);
// => 4294967295
_.toLength("3.2");
// => 3_.toNumber(value)
引入版本 4.0.0
将 value 转换为数字。
参数
- value
(*): 要处理的值。
返回
- (number): 返回转换后的数字。
示例
_.toNumber(3.2);
// => 3.2
_.toNumber(Number.MIN_VALUE);
// => 5e-324
_.toNumber(Infinity);
// => Infinity
_.toNumber("3.2");
// => 3.2_.toPlainObject(value)
引入版本 3.0.0
将 value 转换为一个普通对象。也就是将 value 继承的可枚举字符串键属性扁平化为该普通对象的自身属性。
参数
- value
(*): 要转换的值。
返回
- (Object): 返回转换后的普通对象。
示例
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 }_.toSafeInteger(value)
引入版本 4.0.0
将 value 转换为安全整数。安全整数是指可以被正确比较和表示的整数。
参数
- value
(*): 要转换的值。
返回
- (number): 返回转换后的整数。
示例
_.toSafeInteger(3.2);
// => 3
_.toSafeInteger(Number.MIN_VALUE);
// => 0
_.toSafeInteger(Infinity);
// => 9007199254740991
_.toSafeInteger("3.2");
// => 3_.toString(value)
引入版本 4.0.0
将 value 转换为字符串。如果 value 是 null 或 undefined,则返回空字符串。-0 的符号会被保留。
参数
- value
(*): 要转换的值。
返回
- (string): 返回转换后的字符串。
示例
_.toString(null);
// => ''
_.toString(-0);
// => '-0'
_.toString([1, 2, 3]);
// => '1,2,3'