首页 新闻 搜索 专区 学院

一个面试题,使用 js 递归 实现 walk 函数,将树结构的数据转化为列表数据

0
悬赏园豆:5 [已解决问题] 解决于 2020-10-14 19:09

一个面试题,使用 js 递归
实现 walk 函数,将树结构的数据转化为列表数据

/**
input: [{
	id: 1,
	text: 'text1',
	children: [{
		id: 2,
		text: 'text2',
		parentId: 1,
		children: [{
			id: 4,
			text: 'text4',
			parentId: 2
		}]
	}, {
		id: 3,
		text: 'text3',
		parentId: 1
	}]
}]
output: [{
	id: 4,
	text: 'text4',
	parentId: 2
}, {
	id: 2,
	text: 'text2',
	parentId: 1
}, {
	id: 3,
	text: 'text3',
	parentId: 1
}, {
	id: 1,
	text: 'text1'
}, ];
**/
function walk(list) {
// code here
}
herry菌的主页 herry菌 | 初学一级 | 园豆:199
提问于:2020-04-07 16:01
< >
分享
最佳答案
0
var input = [{
    id: 1,
    text: 'text1',
    children: [{
        id: 2,
        text: 'text2',
        parentId: 1,
        children: [{
            id: 4,
            text: 'text4',
            parentId: 2
        }]
    }, {
        id: 3,
        text: 'text3',
        parentId: 1
    }]
}];

var output = [];
(function walk(list) {
    list.forEach(function (item) {
        if (item.children) {
            walk(item.children);
            delete item.children;
        }
        output.push(item);
    })
}(input));
console.log(output);
收获园豆:5
RosonJ | 老鸟四级 |园豆:4214 | 2020-04-07 16:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册