像这种文件库目录的,不知道每层有多少层子层,如何遍历目录,然后把该目录显示出来呢
已知的是下面这样的json数组呢
我想把这样的目录以文件名为节点在小程序中显示出来,这json数组层层嵌套,不会遍历呢
需要用到递归呢
function tree (result) {
for (var i = 0; i < result.length; i++) {
var item = result[i];
console.log(item.contentName)
if(item.children && item.children.length){
tree(item.children)
}
}
}
楼上,只是 用 tree 这个 函数 把数组 遍历 了一遍,跟楼主 想 显示出来,没啥关系。
如果想 显示 在 小程序中,建议你用组件试试,如果组件 检测到 又children 的存在,就emit 告诉 父组件一下,父组件通过emit的 这个方法,改变一下页面,让页面再去 调用 子组件。具体实现起来,可能有点绕,但是不难的。
首先写2个方法,一个解析目录,一个解析节点的。一个主方法,主方法判断json的下一层级是目录还是节点,调用对应的方法,获得的结果递归主方法判断下一层级。。。知道没有值。思路就是这样。然后如果前端用的不是纯jquery,其实可以不用解析的在赋值,看你前端用的哪个框架,搜官网的树结构组件,都封装好了,把后端传过来的data值给树结构组件就显示出来了。vue的树结构id相当于key,label是显示给用户看的值(即把文件名的值给它),有children则是目录,没有则是节点。其他的框架对树结构的封装也有的(基本一致),不需要我们重新造轮子了