gpt4 book ai didi

JavaScript 数组减少到子数组的总长度 - 为什么这不起作用?

转载 作者:行者123 更新时间:2023-12-01 07:24:32 24 4
gpt4 key购买 nike

尝试此 reduce 时我没有得到预期的结果在 JavaScript 中:

let x = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

x.reduce((a,b) => a.length + b.length, []);

很简单,对吧?这是我期望发生的事情,一步一步:
----------------------------------------------------------------
| callback | a (accumulator) | b (currentValue) | return value |
----------------------------------------------------------------
| 1st run | 0 | 3 | 3 |
----------------------------------------------------------------
| 2nd run | 3 | 3 | 6 |
----------------------------------------------------------------
| 2nd run | 6 | 3 | 9 |
----------------------------------------------------------------

我实际上得到了什么? NaN .在英语中,如果我理解正确,迭代器首先查看我给它的初始值(空数组作为 reduce 的第二个参数),它由参数 a 表示.我的代码显示了一个简单的 .length关于添加的两个论点。我在哪里错了?

最佳答案

我认为这就是你想要做的(为了清楚起见,变量重命名):

let x = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

x.reduce((acc,element) => acc + element.length, 0);

这就是它一步一步发生的方式:
--------------------------------------------------------------
| callback | acc | element | element.length | return value |
--------------------------------------------------------------
| 1st run | 0 | [1, 2, 3] | 3 | 3 |
--------------------------------------------------------------
| 2nd run | 3 | [4, 5, 6] | 3 | 6 |
--------------------------------------------------------------
| 3rd run | 6 | [7, 8, 9] | 3 | 9 |
--------------------------------------------------------------

关于JavaScript 数组减少到子数组的总长度 - 为什么这不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41421220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com