lodash 链式

示例

任何lodash收集方法都有两种语法。

不链接:

var arr1 = [10, 15, 20, 25, 30, 15, 25, 35];

var arr2 = _.filter(arr1, function(item){ return item % 10 === 5 });
// 现在arr2包含[15、25、15、25、35]

var arr3 = _.uniq(arr2);
// 现在arr3包含[15、25、35]

var arr4 = _.map(arr3, function(item){ return item + 1 });
// 现在arr4包含[16、26、36]

使用链接:

var arr1 = [10, 15, 20, 25, 30, 15, 25, 35];

var arr4 = _(arr1)
    .filter(function(item){ return item % 10 === 5 })
    .uniq()
    .map(function(item){ return item + 1 })
    .value();
// 现在arr4包含[16、26、36] without creating the intermediate results.

实际上,这种链接方式效率更高,因为不会产生中间结果。通过在链的末尾调用to可以对表达式进行延迟求值。.values()