Lodash
2019-06-12 本文已影响0人
空气KQ
webpack一开始就引入这个,开始以为没什么用的东西,原来有大文章。
Lodash 通过降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单。
Lodash 的模块化方法 非常适用于:
- 遍历 array、object 和 string
- 对值进行操作和检测
- 创建符合功能的函数
_.chunk(array, [size=1])数组分割块。这个跟PHP一样
_.chunk(['a', 'b', 'c', 'd'], 2);
// => [['a', 'b'], ['c', 'd']]
_.chunk(['a', 'b', 'c', 'd'], 3);
// => [['a', 'b', 'c'], ['d']]



_.compact(array)创建新的数组,去掉false, null, 0, "", undefined, 和 NaN 都是被认为是“假值”
_.compact([0, 1, false, 2, '', 3]);
// => [1, 2, 3]
_.concat(array, [values])创建一个新数组,将array与任何数组 或 值连接在一起。
var array = [1];
var other = _.concat(array, 2, [3], [[4]]);
console.log(other);
// => [1, 2, 3, [4]]
_.difference(array, [values])创建一个具有唯一array值的数组,每个值不包含在其他给定的数组中
_.difference([3, 2, 1], [4, 2]);
// => [3, 1]
.differenceBy(array, [values], [iteratee=.identity])进行比较,使用第三的函数作为比对计算
这个方法类似_.difference
,除了它接受一个 iteratee
(愚人码头注:迭代器), 调用array
和 values
中的每个元素以产生比较的标准。 结果值是从第一数组中选择。iteratee 会调用一个参数:(value)。(愚人码头注:首先使用迭代器分别迭代array
和 values
中的每个元素,返回的值作为比较值)。
_.differenceBy([3.1, 2.2, 1.3], [4.4, 2.5], Math.floor);
// => [3.1, 1.3]
// Math.floor() 方法返回小于等于x的最大整数。3.1=3,2.5=2,2.2,=
// The `_.property` iteratee shorthand.
_.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');
// => [{ 'x': 2 }]
说白了
var a=_.differenceBy([3.1, 2.2, 1.3], [4.4, 2.5], function(value){
values=[4.4, 2.5];
for ( var i in values)
{
if(Math.floor(values[i])==Math.floor(value))
{
return true;
}
}
return false;
});
console.log(a);