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);
}
});
});