后端返回这样的 json 数组,前端怎么循环该数组成楼中楼的评论显示?

2017-12-04 21:56:24 +08:00
 s609926202
[ 
    { 
        id: 2, 
        post: 73, 
        parent: 0, 
        children: [ 
            { 
                id: 3, 
                post: 73, 
                parent: 2 
            } 
        ], 
    } 
]

突然不知道该怎么处理 children 循环了,,,

5701 次点击
所在节点    问与答
63 条回复
s609926202
2017-12-05 14:01:41 +08:00
@searene 回复无法修改默认格式的,,
yexiaoxing
2017-12-05 14:03:51 +08:00
@searene 代码贴 gist 吧,这样格式不会乱
DualWield
2017-12-05 14:04:42 +08:00
@SO647898 兄台,我觉得你应该去学习下什么叫礼貌,再想一想大家为什么针对你
zgx030030
2017-12-05 14:05:12 +08:00
写个函数,遍历这个数组,遍历时检查每个元素是否有 children,如果有,直接再调这个函数,递归进去再遍历。。。一层层的。
萌新不懂,加 block 是什么意思?
block
searene
2017-12-05 14:08:29 +08:00
zjw60320
2017-12-05 14:18:02 +08:00
这不是基础的递归么,lz 还是多学习吧,这种问题百度都有的
@SO647898 戏太多了,block
s609926202
2017-12-05 14:35:23 +08:00
Tks.
jatesun
2017-12-05 15:30:03 +08:00
好像只能递归
Sypher
2017-12-05 15:45:18 +08:00
@zgx030030
没人说我说了:
block 是 V 站的一个功能,你点开想要拉黑的人的主页,右上角有个 block 按钮,点了就可以拉黑了。
orzfly
2017-12-05 16:17:20 +08:00
@Sypher #49 "瞎说,明明是给 CSS 加上 display: block “ 跑(
SO647898
2017-12-05 16:44:32 +08:00
@DualWield
大多数人戾气重呗,我只是正确使用 block 功能而已,我觉得有些人把礼貌使用歪了,正义也只不过是利益而已,不符合自己的利益,在某些人心里,就是不正义,你觉得真的是我不礼貌?一我没飙脏字,二来态度不好完全是他人理解问题,这论坛 n 年不加图片功能,难道我要备一套表情图连接么,当然了,我也没说我没错,毕竟一个巴掌拍不响,有些人真的喜欢没事找事,不是这攻击我就是那攻击我,我也很无语啊~
要不是最近有很多想看的贴看不了,我也不会注册,v2 的 block 功能很棒。
1iuh
2017-12-05 16:50:36 +08:00
@SO647898 #51 我也觉得 v2 的 block 功能很赞,让我可以 block 你。已 block,记得回我一个 block 哟。
aaronlam
2017-12-05 16:52:46 +08:00
@SO647898 看你留言浪費我流量 block
zhouwei520
2017-12-05 17:24:08 +08:00
外面的是楼回复,里面的是楼中楼回复。可以搜下递归遍历。
zhouwei520
2017-12-05 17:24:41 +08:00
就是循环套循环
zkd8907
2017-12-05 17:31:43 +08:00
https://gist.github.com/zkd8907/91ab1b5256fe173f6ffd13a6d88d2210

直接返回数组,用 referenceId 之类的外键把父评论关联上。这样好处是如果一个评论在多个评论中被回复,只要出现一次就好。数据库的存储也可以这么设计。
Icezers
2017-12-05 18:04:46 +08:00
用递归全部展开,再用 id 和 parent 关系组合吧
anthozoan77
2017-12-05 19:45:53 +08:00
@SO647898 有问题提出来,不解决问题,block 提出问题的人?况且 LZ 也没有虚张声势标题党。
SourceMan
2017-12-05 20:41:56 +08:00
哈哈哈哈哈哈哈哈
哈哈哈哈哈哈哈哈
哈哈哈哈哈哈哈

好好的技术帖吵起来了。。。
昨天还嫌这里的东西越来越没有营养
dlrdegk
2017-12-05 21:12:13 +08:00
我觉得 v2 最好能讨论一下有创意的点子或者问题,或者程序员拉拉家常
楼主这个问题可以去 segmentfault 或者百度知道问好些(逃

当然我觉得 @SO647898 说话还是冲了一点,别人只是提了个问题而已

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/411965

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX