Lodash
一致性、模块化、高性能的 JavaScript 实用工具库
官网 //lodash.com/
Lodash著名javascript原生库,不需要第三方依赖
提高开发者效率,提高JS原生方法性能的JS库,统一方法的一致性
Lodash使用了一个简单的 _ 符号,像Jquery的 $ 一样简洁
CDN加速
https://cdn.bootcss.com/lodash.js/4.17.15/lodash.min.js

支持
chrome 43往上
Firefox 38往上
IE 6-11
MS Edge
Safari 5往上

为什么选择 Lodash
Lodash 通过降低 array、number、objects、string 等等的使用难度从而让 JavaScript 变得更简单
Lodash 的模块化方法 非常适用于:
遍历 array、object 和 string
对值进行操作和检测
创建符合功能的函数
https://lodash.com/docs/4.17.15

.chunk(array, [size=1])数组分割块
_.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);