我们需要编写一个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