es6 map遍历树形结构的二维数组

您所在的位置:网站首页 平凡的世界原著书下载在线阅读 es6 map遍历树形结构的二维数组

es6 map遍历树形结构的二维数组

2023-10-29 08:06| 来源: 网络整理| 查看: 265

ES6 的 Map 类型提供了一种更加灵活的方式来处理键值对数据结构,可以用来遍历树形结构的二维数组。

首先,我们需要将二维数组转换成一个树形结构的数据模型,可以使用递归函数来实现这个过程。递归函数可以将每个节点的子节点作为一个新的树来处理。

接下来,我们可以使用 ES6 的 Map 类型来遍历树形结构。遍历过程中,可以使用 Map 的 forEach 方法来访问每个键值对,并且可以通过递归遍历每个子节点。

以下是一个示例代码:

// 将二维数组转换成树形结构 function buildTree(data, root) { let tree = new Map(); data.filter(item => item.parentId === root).forEach(item => { tree.set(item.id, { id: item.id, name: item.name, children: buildTree(data, item.id) }); }); return tree; } // 遍历树形结构 function traverseTree(tree) { tree.forEach((value, key) => { console.log(value.id, value.name); if (value.children.size > 0) { traverseTree(value.children); } }); } // 示例数据 let data = [ { id: 1, parentId: 0, name: '节点1' }, { id: 2, parentId: 1, name: '节点1-1' }, { id: 3, parentId: 1, name: '节点1-2' }, { id: 4, parentId: 2, name: '节点1-1-1' }, { id: 5, parentId: 2, name: '节点1-1-2' }, { id: 6, parentId: 3, name: '节点1-2-1' }, { id: 7, parentId: 3, name: '节点1-2-2' }, ]; // 转换成树形结构 let tree = buildTree(data, 0); // 遍历树形结构 traverseTree(tree);

上述代码中,首先定义了一个 buildTree 函数,用于将二维数组转换成一个树形结构的 Map。然后定义了一个 traverseTree 函数,用于遍历树形结构。最后使用示例数据测试了整个过程。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3