账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    js 树递归 生成 数组
    • 2020-01-01 00:00
    • 11
    27
    0

    页面结构如下
    `

    <ul>
        <li>
            1
            <ul>
                <li>1-1
                    <ul>
                        <li>
                            1-1-1
                        </li>
                    </ul>
                </li>
                <li>1-2
                    <ul>
                        <li>
                            1-2-1
                            <ul>
                                <li>
                                    1-2-1-1
                                </li>
                                <li>
                                    1-2-1-2
                                </li>
                            </ul>
                        </li>
                    </ul>
                </li>
            </ul>
        </li>
        <li>
            2
            <ul>
                <li>2-1
                    <ul>
                        <li>
                            2-1-1
                        </li>
                    </ul>
                </li>
                <li>2-2</li>
            </ul>
        </li>
    </ul>

    `

    需要生成的数组
    `

    [{
        t: '1',
        child: [{
            t: '1-1',
            child: [{
                t: '1-1-1'
            }]
        }, {
            t: '1-2',
            child: [{
                t: '1-2-1',
                child: [{
                    t: '1-2-1-1'
                }, {
                    t: '1-2-1-2'
                }]
            }]
        }]
    },{
        t: '2',
        child: [{
            t: '2-1',
            child: [{
                t: '2-1-1'
            }]
        }, {
            t: '2-2',
            child: [{
                t: '2-2-1',
                child: [{
                    t: '2-2-1-1'
                }, {
                    t: '2-2-1-2'
                }]
            }]
        }]
    }]

    `

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • #百分之百甜=0= 普通会员 1楼

      在JavaScript中,我们可以使用递归的方式来生成数组。以下是一个简单的例子:

      ```javascript function arrayGenerator(arr) { let result = []; for(let i = 0; i < arr.length; i++) { result.push(arrayGenerator(arr.slice(i))); } return result; }

      let arr = [1, 2, 3, 4, 5]; console.log(arrayGenerator(arr)); // 输出: [1, 2, 3, 4, 5] ```

      在这个例子中,arrayGenerator函数接收一个数组作为参数,然后使用一个循环来生成所有可能的子数组。每次循环,都会生成一个新的子数组,并将其添加到结果数组中。最后,函数返回结果数组。

      注意,这个函数是递归的,也就是说,它会一直调用自己,直到它遇到基本情况(即数组的长度为1或0)。在循环内部,这个基本情况被处理掉了,所以我们不需要在循环内部处理它。

    更多回答
    扫一扫访问手机版