-
hgweb
-
十八、生成随机数1,random 函数介绍random 函数原型如下,它将产生一个包括 lower 与 upper 之间的随机数:如果只提供一个参数,则返回一个 0 到提供数之间的数。如果 floating 设为 true,或者 lower 或 upper 是浮点数,则结果返回浮点数。 _.random([lower=0], [upper=1], [floating])2,生成随机整数(1)下面代
-
hgweb
-
十七、类型检查、类型判断1,inNumber该方法可以检查 value 是否是原始 Number 数值型或者对象。注意:对于 Infinity、-Infinity、以及 NaN 数值类型,该方法也是返回 true。如果需要将它们排除,可以用 _.isFinite 方法。_.isNumber(3); // => true
_.isNumber(Number.MIN_VALUE);
-
hgweb
-
十六、判断是否为空1,isEmpty(1)isEmpty 方法可以检查 value 是否为一个空对象、集合、映射或者 set:对象如果没有自己的可枚举属性的对象,则被认为是空。类数组值,比如 arguments 对象、array、buffer、string 或者类 jQuery 集合的 length 为 0,被认为是空。同样的 map 和 set 的 size 为 0,被认为是空。(2)下面是一个
-
hgweb
-
十五、深比较,判断是否包含某属性或属性值1,两个对象进行深比较(1)isEqual 方法可以执行深比较来确定两者的值是否相等。 该方法支持比较 arrays, array buffers, booleans, date objects, error objects, maps, numbers, Object objects, regexes, sets, strings, symbols, 以
-
hgweb
-
十四、浅拷贝1,什么是浅拷贝?浅拷贝(浅克隆)指的是只拷贝第一层的原始类型值,和第一层的引用类型地址。对象的 Object.assign(),数组的 Array.prototype.slice() 和 Array.prototype.concat(),还有 ES6 的扩展运算符,都属于浅拷贝。
2,clone 方法(1)clone 方法可以创建一个 value 的浅拷贝。 下面是浅拷贝一个 Ob
-
hgweb
-
十三、创建对一个函数结果取反的函数1,negate 方法negate 方法可以创建一个针对断言函数 func 结果取反的函数。2,使用样例function isEven(n) {
return n % 2 == 0;
}
var even = _.filter([1, 2, 3, 4, 5, 6], isEven);
console.log("偶数", even);
v
-
hgweb
-
十二、创建一个只能调用1次、n次的函数1,once(1)once 方法可以创建一个只能调用 func 一次的函数。 如果重复则调用返回第一次调用的结果。_.once(func)
(2)下面是一个简单的使用样例:var once = _.once(Math.random);
console.log(once());
console.log(once());
console.log(once(
-
hgweb
-
十一、Array 数组函数8:创建指定范围数字的数组1,range(1)range 函数原型如下,创建一个包含从 start 到 end,但不包含 end 本身范围数字的数组。_.range([start=0], end, [step=1])
参数说明:start:开始的范围(默认为 0)。end:结束的范围。step:范围的增量或者减量(默认为 1,如果 end 是负数,而 start 没有指
-
hgweb
-
十、Array 数组函数7:根据指定规则进行分组、统计1,groupBy(1)groupBy 方法可以据指定规则进行分组,该方法会创建一个对象:key 是经过迭代函数执行处理数组中的每个元素后返回的结果。分组值的顺序是由他们出现在数组中的顺序确定的。每个键对应的值为负责生成 key 的元素组成的数组(2)简单的使用样例:_.groupBy([6.1, 4.2, 6.3], Math.floor);
-
hgweb
-
九、Array 数组操作函数6:如果不是数组强制转成数组1,castArray 介绍 有时我们定义了一个只能对数组进行处理的方法,但实际使用时可能传入数组、也可能是单个对象,这种情况我们可以借助 castArray 进行统一转换处理(相当于做个保护):如果传入的参数不是数组, 那么强制转为数组并返回。如果传入的参数是数组,则不做处理直接返回。2,使用样例(1)如果原来就是数组则不做任何处理,直接返
-
hgweb
-
八、Array 数组操作函数4:数组与对象间的转换1,对象转数组(1)toPairs 方法可以创建一个 object 对象自身可枚举属性的键值对数组。如果 object 是 map 或 set,返回其条目。function Foo() {
this.a = 1;
this.b = 2;
}
Foo.prototype.c = 3;
var obj = _.to
-
hgweb
-
七、Array 数组操作函数4:数组排序1,基本排序(1)sortBy 方法创建一个元素数组。 以 iteratee 处理的结果升序排序。 这个方法执行稳定排序,也就是说相同元素会保持原始排序。var users = [
{ 'user': 'fred', 'age': 48 },
{ 'user': 'barney', 'age': 36 },
{ 'user': 'fre
-
hgweb
-
六、Array 数组操作函数3:修改原数组内容1,剔除一个数组的元素(指定元素移除)pull 方法可以移除数组 array 中所有和给定值相等的元素。
var array = [1, 2, 3, 1, 2, 3];
_.pull(array, 2, 3);
console.log(array);2,剔除一个数组的元素(指定索引移除)pullAt 方法根据索引 indexes,移除 a
-
hgweb
-
四、Array 数组操作函数1:查找指定元素、或索引1,随机获取一个元素sample 方法可以从数组中获得一个随机元素。_.sample([1, 2, 3, 4]); // => 2
2,查找指定元素(1)find 方法可以遍历数组元素,返回 predicate(断言函数)第一个返回真值的第一个元素。_.find(users, function(o) { return o.age &l
-
hgweb
-
二、使用 throttle 函数实现节流1,throttle 节流throttle 函数原型如下。它会创建一个节流函数,在 wait 秒内最多执行 func 一次的函数。_.throttle(func, [wait=0], [options={}])
(1)throttle 的功能和前文介绍的 debounce 很像,都是为了防止某个方法被频繁调用。不同的是,throttle 可以指定每隔多长时
-
hgweb
-
Lodash 是一个一致性、模块化、高性能的 JavaScript 实用工具库。Lodash 通过降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单。同时其在 npm 每天下载量都超过 200 万,足以证明了它受欢迎的程度。
一、使用 debounce 函数实现防抖1,安装配置(1)这里假设我们需要在 Vue.js 项目里使用 L