簡體   English   中英

如何理解節點js的以下函數輸出

[英]how to understand below function output for node js

我有下面的函數,它采用具有行(第一行是標題)和列(如 .NET 中的數據集)作為輸入和返回輸出的結果集。 它返回什么輸出我無法理解。 我在運行 Node js 應用程序時遇到了一些問題,因此無法逐行調試它。 我真的需要了解它的目的。

export const flattenObject = (object) => {
  return object.reduce((acc, val) => Array.isArray(val) ?
    acc.concat(flattenObject(val)) : acc.concat(val), []);
};

有人可以幫我在代碼中獲得它的輸出/目的嗎? 提前致謝。

箭頭函數將在數組中的每個項目上執行,acc 將是從前一次執行返回的項目,而 val 將是項目本身。 在第一次執行中, acc 將是第二個參數,在這種情況下,是一個空數組。

所以它所做的是檢查數組中的當前項是否是數組,如果是,則遞歸運行該函數,如果不是,則將該項添加到數組中。

這會使陣列變平。 如果對象是[[1,[2,3]],4]它將返回[1,2,3,4]

更好的方法是使用object.flat(Infinity)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM