連結
任何 lodash 集合方法都有兩種語法。
沒有連結:
var arr1 = [10, 15, 20, 25, 30, 15, 25, 35];
var arr2 = _.filter(arr1, function(item){ return item % 10 === 5 });
// arr2 now contains [15, 25, 15, 25, 35]
var arr3 = _.uniq(arr2);
// arr3 now contains [15, 25, 35]
var arr4 = _.map(arr3, function(item){ return item + 1 });
// arr4 now contains [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 now contains [16, 26, 36] without creating the intermediate results.
這種連結版本實際上更有效,因為沒有建立中間結果。通過在鏈末端呼叫 .values()
來懶惰地評估表示式。