map 循环的使用和for循环的对比

问题遇到的现象和发生背景

主要是省市区数据的处理 使用for 和 map

数据处理前

img

问题相关代码,请勿粘贴截图

两种方式处理

    const options = [];
    for (let i = 0; i < regionData?.length; i++) {
        options.push({
            value: regionData[i]?.id,
            label: regionData[i]?.name,
            children: [],
        })
        for (let c = 0; c < regionData[i]?.city?.length; c++) {
            options[i].children.push({
                value: regionData[i]?.city[c].id,
                label: regionData[i]?.city[c].name,
                children: [],
            })
            for (let a = 0; a < regionData[i]?.city[c]?.area.length; a++) {
                options[i].children[c]?.children?.push({
                    value: regionData[i]?.city[c]?.area[a].id,
                    label: regionData[i]?.city[c]?.area[a].name
                })
            }
        }
    }

    const options = regionData?.map(province => ({
        value: province.id,
        label: province.name,
        children: province.city.map(city => ({
            value: city.id,
            label: city.name,
            children: city.area.map(area => ({
                value: area.id,
                label: area.name
            }))
        }))
    }))

运行结果及报错内容
我的解答思路和尝试过的方法

处理后

img

我想要达到的结果

看代码和截图没理解你要问的问题,有报错?还是没达到自己想要的效果?想要什么效果?目前是什么效果?没看出来有什么区别。

如果还没解决可以私信我,具体看代码解决。

具体有什么疑问呢