Lodash _.reduce

2021-09-24 10:10 更新

_.reduce(collection, [iteratee=_.identity], [accumulator])

壓縮 collection(集合)為一個值,通過 iteratee(迭代函數(shù))遍歷 collection(集合)中的每個元素,每次返回的值會作為下一次迭代使用(注:作為iteratee(迭代函數(shù))的第一個參數(shù)使用)。 如果沒有提供 accumulator,則 collection(集合)中的第一個元素作為初始值。(注:accumulator參數(shù)在第一次迭代的時候作為iteratee(迭代函數(shù))第一個參數(shù)使用。) iteratee 調(diào)用4個參數(shù):(accumulator, value, index|key, collection).lodash 中有許多方法是防止作為其他方法的迭代函數(shù)(注:即不能作為iteratee參數(shù)傳遞給其他方法),例如:_.reduce,_.reduceRight, 和_.transform。受保護的方法有(注:即這些方法不能使用_.reduce,_.reduceRight, 和_.transform作為 iteratee 迭代函數(shù)參數(shù)):

assign, defaults, defaultsDeep, includes, merge, orderBy, 和 sortBy

添加版本

0.1.0

參數(shù)

  1. collection (Array|Object): 用來迭代的集合。
  2. [iteratee=_.identity] (Function): 每次迭代調(diào)用的函數(shù)。
  3. [accumulator] (*): 初始值。

返回

(*): 返回累加后的值。

例子

_.reduce([1, 2], function(sum, n) {  return sum + n;}, 0);
// => 3 
_.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {  (result[value] || (result[value] = [])).push(key);  return result;}, {});
// => { '1': ['a', 'c'], '2': ['b'] } (無法保證遍歷的順序)


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號