由于自己对于数据处理这块缺乏经验,所以遇到类似的问题就会懵逼,希望大神能够帮忙解答一下我的问题,谢谢。
具体描述如下:
1.目前有N多个json数据,是从接口中返回的,且不知道这个N是多少
2.返回的JSON数据,有一个共同点,就是title相同;而不同的title则需要合并成另外一个新的数据,具体如下
图中这5个JSON,其中4个的title是一致的,只有最后一个是单独的,想要获得最终的数据结构如下
[
{
title: '蛮荒记(树下野狐)',
details: [
{
page: {
from: 28,
to: 29
},
time: '2018-3-12 15:45',
type: '标注'
},
{
page: {
from: 28,
to: 29
},
time: '2018-3-12 15:45',
type: '标注'
},
{
page: {
from: 28,
to: 29
},
time: '2018-3-12 15:45',
type: '标注'
},
],
snippet: [
'半山红叶如火,层林尽染,被狂风呼卷,仿佛漫漫火海,摇曳跳跃。山坡上衰草起伏不绝,一直连绵到平原上,宛如接天汹涌海浪。',
'精锐之师。其座下飞兽也是精挑细选的极为凶猛的灵兽,又经特殊培训,嗜血好杀,见着漫天凶兽,非但毫不畏缩,反倒激起狂暴凶性。',
...
]
},
{
title: '炎武战神 (xiao少爷)',
details: [
{
page: {
from: 2770,
to: 2771
},
time: '2018-5-10 10:25',
type: '笔记'
}
],
snippet: [
'这是一条测试的笔记内容'
]
}
]
数据处理小白感谢大神的回复,希望大神不要吐槽我,谢谢
以 TITLE 为 KEY,建立一个 MAP,如果 MAP 中找到指定的 KEY,把对应的数据取出来,合并 details 数组,没找到就把当前记录加进去。完成之后把 MAP 转成数组,如果要保留原顺序,在建 MAP 的同时建一个数组来保持顺序,注意 MAP 和数组的同步。
先思想下上面的思路,我晚点再来补代码
还要先恢复你的原始数据……下次问问题记得把原始数据贴出来
然后才是处理代码