js遞歸-適用於獲取多級菜單/導航等


var data = [
            {
                name: "所有物品",
                children: [
                    {
                        name: "水果",
                        children: [{ name: "蘋果", children: [{ name: '青蘋果' }, { name: '紅蘋果' }] }]
                    },
                    {
                        name: '主食',
                        children: [
                            { name: "米飯", children: [{ name: '北方米飯' }, { name: '南方米飯' }] }
                        ]
                    },
                    {
                        name: '生活用品',
                        children: [
                            { name: "電腦類", children: [{ name: '聯想電腦' }, { name: '蘋果電腦' }] },
                            { name: "工具類", children: [{ name: "鋤頭" }, { name: "錘子" }] },
                            { name: "生活用品", children: [{ name: "洗發水" }, { name: "沐浴露" }] }
                        ]
                    }
                ]
            }
        ]
        let nameItem = [];
        function getName(vals) {
            vals.forEach((item, index) => {
                if (item.children) {
                    getName(item.children)
                } else {
                    console.log(item.name)
                    nameItem.push(item.name)
                    console.log("這一層沒有東西")
                }
            })
            return nameItem;
        }
        let items = getName(data);
        console.log(items);//["青蘋果", "紅蘋果", "北方米飯", "南方米飯", "聯想電腦", "蘋果電腦", "鋤頭", "錘子", "洗發水", "沐浴露"]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM