使用 JavaScript 对数组元素进行深度计数
问题
我们需要编写一个JavaScript函数,该函数接受元素的嵌套数组并返回该数组中存在的元素的深层计数。
输入
const arr = [1, 2, [3, 4, [5]]];
输出
const output = 7;
由于级别1的元素为2,级别2的元素为2,级别3的元素为1,因此深度计数为7。
示例
以下是代码-
const arr = [1, 2, [3, 4, [5]]]; const deepCount = (arr = []) => { return arr .reduce((acc, val) => { return acc + (Array.isArray(val) ? deepCount(val) : 0); }, arr.length); }; console.log(deepCount(arr));
代码说明
我们使用了数组。遍历数组的方法,如果在任何迭代中遇到嵌套数组,都将递归调用函数。prototype.reduce()
输出结果
7