lodash笔记(语言篇)

安装引入

  • npm i --save lodash
  • 使用页面
    1、全部引入 import _ from ‘lodash’
    2、按需引入 import x from ‘lodash/x’

详情见官网


1、_.castArray(value)

  • value (*): 要处理的值。

如果 value 不是数组, 那么强制转为数组。

_.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

2、_.clone(value)

  • value (*): 要拷贝的值

创建一个 value 的浅拷贝

注意: 这个方法参考自structured clone algorithm 以及支持 arrays、array buffers、 booleans、 date objects、maps、 numbers, Object 对象, regexes, sets, strings, symbols, 以及 typed arrays。 arguments对象的可枚举属性会拷贝为普通对象。 一些不可拷贝的对象,例如error objects、functions, DOM nodes, 以及 WeakMaps 会返回空对象。

var objects = [{ 'a': 1 }, { 'b': 2 }];
 
var shallow = _.clone(objects);
console.log(shallow[0] === objects[0]);
// => true

3、_.cloneDeep(value)

  • value (*): 要深拷贝的值。

这个方法类似_.clone,除了它会递归拷贝 value。(注:也叫深拷贝)。

var objects = [{ 'a': 1 }, { 'b': 2 }];
 
var deep = _.cloneDeep(objects);
console.log(deep[0] === objects[0]);
// => false

4、_.eq(value, other)

  • value (): 要比较的值。
    other (
    ): 另一个要比较的值。。

执行SameValueZero 比较两者的值,来确定它们是否相等。

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


5、_.gt(value, other)

  • value (): 要比较的值。
    other (
    ): 另一个要比较的值。

检查 value是否大于 other。

_.gt(3, 1);
// => true
 
_.gt(3, 3);
// => false
 
_.gt(1, 3);
// => false

_.lt(value, other)

  • value (): 用来比较的值。
    other (
    ): 另一个用来比较的值。

检查 value 是否小于 other。

_.lt(1, 3);
// => true
 
_.lt(3, 3);
// => false
 
_.lt(3, 1);
// => false

6、_.gte(value, other)

  • value (): 要比较的值。
    other (
    ): 另一个要比较的值。

检查 value是否大于或者等于 other。

_.gte(3, 1);
// => true
 
_.gte(3, 3);
// => true
 
_.gte(1, 3);
// => false

_.lte(value, other)

  • value (): 用来比较的值。
    other (
    ): 另一个用来比较的值。

检查 value 是否小于等于 other。

_.lte(1, 3);
// => true
 
_.lte(3, 3);
// => true
 
_.lte(3, 1);
// => false


7、_.isArray(value)

  • value (*): 要检查的值。

检查 value 是否是 Array 类对象。。

_.isArray([1, 2, 3]);
// => true
 
_.isArray(document.body.children);
// => false
 
_.isArray('abc');
// => false
 
_.isArray(_.noop);
// => false

8、_.isBoolean(value)

  • value (*): 要检查的值。

检查 value 是否是原始 boolean 类型或者对象。

_.isBoolean(false);
// => true
 
_.isBoolean(null);
// => false

_.isBoolean(0);
// => false

9、_.isEmpty(value)

  • value (*): 要检查的值。

检查 value 是否为一个空对象,集合,映射或者set

_.isEmpty(null);
// => true
 
_.isEmpty(true);
// => true
 
_.isEmpty(1);
// => true
 
_.isEmpty([1, 2, 3]);
// => false
 
_.isEmpty({ 'a': 1 });
// => false


10、_.isEqual(value, other)

  • value (): 用来比较的值。
    other (
    ): 另一个用来比较的值。

执行深比较来确定两者的值是否相等。

var object = { 'a': 1 };
var other = { 'a': 1 };
 
_.isEqual(object, other);
// => true
 
object === other;
// => false



var object = { 'a': 1, b: { c: 1 } };
var other = { 'a': 1, b: { c: 1 } };

_.isEqual(object, other)
// => true

11、_.isInteger(value)

  • value (*): 要检查的值。

检查 value 是否为一个整数。

_.isInteger(3);
// => true
 
_.isInteger(Number.MIN_VALUE);
// => false
 
_.isInteger(Infinity);
// => false
 
_.isInteger('3');
// => false

12、_.isInteger(value)

  • value (*): 要检查的值。

检查 value 是否是 NaN。

_.isNaN(NaN);
// => true
 
_.isNaN(new Number(NaN));
// => true
 
isNaN(undefined);
// => true
 
_.isNaN(undefined);
// => false


13、_.isInteger(value)

  • value (*): 要检查的值。

检查 value 是否是 null 或者 undefined。

_.isNil(null);
// => true
 
_.isNil(void 0);
// => true
 
_.isNil(NaN);
// => false

14、_.isNull(value)

  • value (*): 要检查的值。

检查 valuealue 是否是 null。

_.isNull(null);
// => true
 
_.isNull(void 0);
// => false


15、_.isNumber(value)

  • value (*): 要检查的值。

检查 value 是否是原始Number数值型 或者 对象。

_.isNumber(3);
// => true
 
_.isNumber(Number.MIN_VALUE);
// => true
 
_.isNumber(Infinity);
// => true
 
_.isNumber('3');
// => false

16、_.isPlainObject(value)

  • value (*): 要检查的值。

检查 value 是否是普通对象。

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


17、_.isString(value)

  • value (*): 要检查的值。

检查 value 是否是原始字符串String或者对象。。

_.isString('abc');
// => true
 
_.isString(1);
// => false

18、_.isUndefined(value)

  • value (*): 要检查的值。

检查 value 是否是 undefined.

_.isUndefined(void 0);
// => true
 
_.isUndefined(null);
// => false


19、_.toString(value)

  • value (*): 要处理的值。

转换 value 为字符串。 null 和 undefined 将返回空字符串。-0 将被转换为字符串"-0"。

_.toString(null);
// => ''
 
_.toString(-0);
// => '-0'
 
_.toString([1, 2, 3]);
// => '1,2,3'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值