[英]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.