首頁 >web前端 >js教程 >JavaScript 陣列的reduce()方法

JavaScript 陣列的reduce()方法

王林
王林原創
2024-08-28 06:05:021022瀏覽

JavaScript Array reduce() Method

您好!在這篇部落格中,您將了解「reduce 方法」以及如何在 JavaScript 中使用它。那麼,讓我們開始吧。

Reduce 是 JavaScript 中的陣列方法之一。它接受一個數組作為輸入並傳回一個值。當您想要處理數組的每個元素並根據提供的回調函數更新公共值時,reduce 方法非常有用。

讓我們更深入了解:
Reduce 有兩個參數:

  1. 回呼函數
  2. 起點(初始值),我們稱之為「結果」(*可選)

它從數組的第一個元素開始,將其傳遞給回調函數,並將結果儲存在「result」中。處理完最後一個元素後,它會傳回最終的「結果」。

*可選

如果陣列為空且沒有提供初始值,reduce 會拋出 TypeError,因為沒有元素可以作為初始累加器。

如果陣列只有一個元素且沒有提供初始值,則reduce 傳回該單一元素而不呼叫回呼。

範例:
這個範例將幫助您了解如何以及在何處使用reduce方法。歡迎在評論中提問。

簡單:
問。給定一個數組,求其元素的總和。

使用reduce方法的解。

const arr = [1, 2, 3, 4];

// 0 + 1 + 2 + 3 + 4
const initialValue = 0;
const sumofArray = arr.reduce(
  (result, element) => result + element,
  initialValue,
);

console.log(sumofArray);
// Expected output: 10

說明:
最初,結果為零,因為我們提供了零作為第二個參數。然後,對於每個元素,它都會將該元素新增到結果中,最後會傳回最終的結果值。

中:

此範例取自:https://leetcode.com/problems/flatten-deeply-nested-array/description/

問。給定多維數組 arr 和深度 n,傳回該數組的扁平版本。

多維數組是一種包含整數或其他多維數組的遞歸資料結構。

扁平數組是該數組的一個版本,刪除了部分或全部子數組並替換為該子數組中的實際元素。僅噹噹前嵌套深度小於 n 時才應執行此展平操作。第一個數組中元素的深度被認為是 0。

Reduce 方法的解:

function flattenArray(arr, depth) {
    if(depth===0) return arr;
    return arr.reduce((result,element) => {
       if(Array.isArray(element)&&depth>0) {
          result.push(...flattenArray(element, depth-1));
       } else {
          result.push(element); 
       }
       return result;
   }, []);
}

說明:
如果深度為零,我們不需要做任何事。否則,我們使用遞歸和展開運算子將元素新增到結果中。

就是這樣!我希望你已經很好地了解了reduce方法。

參考文獻:
來自 MDN

的 Array.prototype.reduce()

以上是JavaScript 陣列的reduce()方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn