繁体   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