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