函数式编程 lodash 经常使用api

一、forEachhtml

复制代码
_.forEach({
                'a': 1,
                'b': 2
            }, function(value, key) {
                console.log(key);
            });
            _.forEach([3,4], function(value) {
                console.log(value);
            });
复制代码

二、filterjquery

复制代码
var users = [{
                    'user': 'barney',
                    'age': 36,
                    'active': true
                },
                {
                    'user': 'fred',
                    'age': 40,
                    'active': false
                }
            ];
            var usersNew = _.filter(users, function(o) {
                return !o.active;
            })
            console.log(usersNew)
            var usersNew2 = _.filter(users, {'active': true })
            console.log(usersNew2)
            var usersNew3 = _.filter(users, ['active', false])
            console.log(usersNew3)
            //active 值为true
            var usersNew4 = _.filter(users, 'active')
            console.log(usersNew4)
复制代码

三、random数组

_.random([min=0], [max=1], [floating])

产生一个包括 min 与 max 之间的数。 若是只提供一个参数返回一个0到提供数之间的数。 若是 floating 设为 true,或者 min 或 max 是浮点数,结果返回浮点数。 dom

四、深拷贝_.cloneDeepide

五、扩展对象_.assign函数

六、去掉对象属性_.omitspa

七、从某个对象中选择部分属性组成新的对象  _.pickcode

八、排序_.orderByhtm

 

复制代码
var users = [{
                    'user': 'fred',
                    'age': 48
                },
                {
                    'user': 'barney',
                    'age': 34
                },
                {
                    'user': 'fred',
                    'age': 42
                },
                {
                    'user': 'barney',
                    'age': 36
                }
            ];

            console.log(_.orderBy(users, ['age'], ['desc']))
复制代码

 9 、函数执行N次对象

_.times(n, [iteratee=_.identity])

调用 iteratee N 次,每次调用返回的结果存入到数组中。 iteratee 会传入1个参数:(index)。

 

console.log(_.times(3, String))

十、等差数组

console.log(_.range(0, 20, 5))
            // [0, 5, 10, 15]

十一、isEmpty

 检查 value 是否为空。 判断的依据是除非是有枚举属性的对象,length 大于 0 的 arguments object, array, string 或类jquery选择器。

 12.take

 

_.take(array, [n=1])

 

从数组的起始元素开始提取 N 个元素。(如可实现分页)

复制代码
_.take([1, 2, 3]);
// => [1]

_.take([1, 2, 3], 2);
// => [1, 2]

_.take([1, 2, 3], 5);
// => [1, 2, 3]

_.take([1, 2, 3], 0);
// => []
复制代码

 1三、

_.reject(collection, [predicate=_.identity])

反向版 _.filter,这个方法返回 predicate 检查为非真值的元素。

 1四、_.assign

复制代码
var a = {
                    a: 1
                },
                b = {
                    b: 2
                },
                c = {
                    c: 3
                };
            var d = {};
            var d = _.assign(d, a, b, c);

            console.log(a)
            console.log(b)
            console.log(c)
            console.log(d)
复制代码
相关文章
相关标签/搜索