遍歷不同層級拼接不同的字符串

原始數據:

{
    name: '1',
    children: [
       { name: '2', children: [{ name: '5' }] },
       { name: '3', children: [{ name: '6' }] },
       { name: '4', children: [{ name: '7' }] },
    ]
}

期望結果數據:

{
	"name": "1第一層級",
	"children": [{
		"name": "2第二層級",
		"children": [{
			"name": "5第三層級"
		}]
	}, {
		"name": "3第二層級",
		"children": [{
			"name": "6第三層級"
		}]
	}, {
		"name": "4第二層級",
		"children": [{
			"name": "7第三層級"
		}]
	}]
}

代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>遍歷每層級拼接不同的字符串</title>
</head>
<body>
    <script>
        var object = {
            name: '1',
            children: [
                { name: '2', children: [{ name: '5' }] },
                { name: '3', children: [{ name: '6' }] },
                { name: '4', children: [{ name: '7' }] },
            ]
        }       
        function flattenItem (item, currentDeep = 0) {
            var lists = ['第一層級','第二層級','第三層級','第四層級'];
            item.name = item.name+lists[currentDeep]
            if (item.children) {
                item.children.map(function(child, index){
                    this.flattenItem(child, currentDeep + 1)
                }).flat();
            }
        }
        flattenItem(object)
        console.log(object)
    </script>
</body>
</html>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章