json 同个主键合并

data.forEach((n, i)=> {

var layout =JSON.parse(n.layout);

  if (layout.length >0) {

layout[0].rid = n.rid;

    layout[0].type = n.type;

    layout[0].style =JSON.parse(n.style);

  }else {

layout = [];

  }

data[i].layout = layout;

});

var res = [];  // 最终结果数组

data.forEach((n, i)=> {

// 标记结果数组中是否已包含相同 screen_id 的数据

  var marker =false;

  if (res.length >0) {

res.forEach((rn, ri)=> {

if (rn.screen_id == n.screen_id) {

marker =true;

      }

})

}

// 结果数据中未包含相同数据时,循环 data数据,将相同 sid 数据的layout 合并

  if (!marker) {

data.forEach((n2, i2)=> {

//验证 sid 相同且的数据( 排除自身 )

      if (n.screen_id == n2.screen_id && i != i2) {

n.layout = n.layout.concat(n2.layout);

      }

});

   });

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容