SOURCE

//该函数查找嵌套数组中任何给定元素的下标集合。
function findIndex(array, value) {
    let index = [];

    function traverse(arr, depth = 0) {
        for(let i = 0; i < arr.length; i++) {
            if(arr[i] === value) {
                index.push(depth); // 如果找到value,则将其深度添加到index数组中
            }

            if(Array.isArray(arr[i])) {
                traverse(arr[i], depth + 1); // 递归调用,深入嵌套数组
            }
        }
    }

    traverse(array); // 从初始数组开始遍历
    return index;
}

let array = [1, [2, 3, [4]], 5, [6, [7, 8, [9]]]];
console.log(findIndex(array, 9)); // 输出: [3, 6]
console 命令行工具 X clear

                    
>
console