JS封装Json数据
记得在大学刚开始做项目时,总会有这样的功能需求,比如做一个动态显示,并显示相关动态的评论信息。而动态数据和动态评论数据分别位于不同的数据表中,后台只获能分别获取两个数据(如果后台可以把每个评论封装导对应得动态下就不用前端封装了,这里我说的是后台没有封装的情况),一个是全部的动态,一个是全部的评论,每条评论有个外键动态ID,与动态的主键ID。数据格式如下:
动态数据
"rows":[
{
"id":1,
"content":"dynamicsContent"
},
{
"id":2,
"content":"dynamicsContent"
},
{
"id":3,
"content":"dynamicsContent"
}
]
评论数据
"rows":[
{
"id":1,
"dynamicId":1,
"content":"commentsContent",
"userId":1
},
{
"id":2,
"dynamicId":1,
"content":"commentsContent",
"userId":12
},
{
"id":3,
"dynamicId":2,
"content":"commentsContent",
"userId":13
},
{
"id":4,
"dynamicId":3,
"content":"commentsContent",
"userId":11
},
{
"id":5,
"dynamicId":3,
"content":"commentsContent",
"userId":14
},
{
"id":6,
"dynamicId":3,
"content":"commentsContent",
"userId":8
}
]
需要的封装结果
"rows":[
{
"id":1,
"content":"dynamicsContent",
"comments":[
{
"id":1,
"dynamicId":1,
"content":"commentsContent",
"userId":1
},
{
"id":2,
"dynamicId":1,
"content":"commentsContent",
"userId":12
}
]
},
{
"id":2,
"content":"dynamicsContent",
"comments":[
{
"id":3,
"dynamicId":2,
"content":"commentsContent",
"userId":13
}
]
},
{
"id":3,
"content":"dynamicsContent",
"comments":[
{
"id":4,
"dynamicId":3,
"content":"commentsContent",
"userId":11
},
{
"id":5,
"dynamicId":3,
"content":"commentsContent",
"userId":14
},
{
"id":6,
"dynamicId":3,
"content":"commentsContent",
"userId":8
}
]
}
]
解决方法
方法一:
先分别获取动态数据和评论数据,在利用js数组方法封装。
/*
* 这里只为了说明需求,我借用j