JavaScript數組 : 了解減少功能

句法

arr.reduce(callbackFunction, [initialValue])

什麼是減少做?

減少是通過陣列循環函數.

操作可以在陣列上通過回調函數來執行.

在操作的陣列上的端, 減少返回單個值

減少可使用, 例如, 以總價購物車

例

  讓ARR = [1,2,3,4,5];
  arr.reduce( (累加器, 當前值, CURRENTINDEX, 排列) => { 
      //一些操作;
      返回的東西;
  });

 

回調函數

回調函數被調用用於陣列中的每個元件, 傳遞 4 這是通過精簡函數傳遞參數.

這些 4 參數則可以在回調函數中使用.

有四個參數

  1. 累加器 – 如果提供在第一循環或初始值的陣列的第一個元素. 那麼前一個循環的返回值.
  2. 當前值 – 陣列中的當前元素. 從在該陣列即第二元件開始. ARR[1], 當初始值參數不傳遞. 如果初始值參數被傳遞然後電流值從陣列ARR的第一元素開始[0].
  3. CURRENTINDEX – 當前元素的索引.
  4. 排列 – 整個陣列.

工作實例

讓ARR = [1,2,3,4,5];

arr.reduce(
  (累加器, 當前值, CURRENTINDEX, 排列) => {
    的console.log(`累加器 (在第一環, 蓄電池是改編[0], 那麼它是前環的返回值): ${累加器}`);
    的console.log(`CurrentValue的 (循環通過陣列, 開始ARR[1]): ${當前值}`);
    的console.log(`CURRENTINDEX: ${CURRENTINDEX}`);
    的console.log(`陣列: ${排列}`);
    的console.log('---');
    回累加器 + 當前值;
  }
);

產量

累加器 (在第一環, 蓄電池是改編[0], 那麼它是前環的返回值): 1
當前值 (循環通過陣列, 開始ARR[1]): 2
CURRENTINDEX: 1
排列: 1,2,3,4,5
---
累加器 (在第一環, 蓄電池是改編[0], 那麼它是前環的返回值): 3
當前值 (循環通過陣列, 開始ARR[1]): 3
CURRENTINDEX: 2
排列: 1,2,3,4,5
---
累加器 (在第一環, 蓄電池是改編[0], 那麼它是前環的返回值): 6
當前值 (循環通過陣列, 開始ARR[1]): 4
CURRENTINDEX: 3
排列: 1,2,3,4,5
---
累加器 (在第一環, 蓄電池是改編[0], 那麼它是前環的返回值): 10
當前值 (循環通過陣列, 開始ARR[1]): 5
CURRENTINDEX: 4
排列: 1,2,3,4,5
---

 

提供初始值

指定的第二個參數 (初始值) 在減少功能將導致初值要傳遞在作為第一環路累加器參數.

請注意,在第一循環中的電流值現在開始於所述陣列的所述第一元件

工作實例

  讓ARR = [1,2,3,4,5];

  arr.reduce(
  (累加器, 當前值, CURRENTINDEX, 排列) => {
    的console.log(`累加器 ( 在第一環, 這是初始值, 那麼前一個循環的返回值): ${累加器}`);
    的console.log(`CurrentValue的 (循環通過陣列, 開始ARR[0]): ${當前值}`);
    的console.log(`CURRENTINDEX: ${CURRENTINDEX}`);
    的console.log(`陣列: ${排列}`);
    的console.log('---');
    回累加器 + 當前值;
  }, 0
);

產量

累加器 ( 在第一環, 這是初始值, 那麼前一個循環的返回值): 0
當前值 (循環通過陣列, 開始ARR[0]): 1
CURRENTINDEX: 0
排列: 1,2,3,4,5
---
累加器 ( 在第一環, 這是初始值, 那麼前一個循環的返回值): 1
當前值 (循環通過陣列, 開始ARR[0]): 2
CURRENTINDEX: 1
排列: 1,2,3,4,5
---
累加器 ( 在第一環, 這是初始值, 那麼前一個循環的返回值): 3
當前值 (循環通過陣列, 開始ARR[0]): 3
CURRENTINDEX: 2
排列: 1,2,3,4,5
---
累加器 ( 在第一環, 這是初始值, 那麼前一個循環的返回值): 6
當前值 (循環通過陣列, 開始ARR[0]): 4
CURRENTINDEX: 3
排列: 1,2,3,4,5
---
累加器 ( 在第一環, 這是初始值, 那麼前一個循環的返回值): 10
當前值 (循環通過陣列, 開始ARR[0]): 5
CURRENTINDEX: 4
排列: 1,2,3,4,5
---