这是合并之前
narr=[ {id: "1", parent: "a"}
{id: "2", parent: "a"}
{id: "3", parent: "b"}]
想要合成这样的结构
[{id:["1","2"], parent: "a"},{id:["3"], parent: "b"}]
合并代码如下
var map = {};
for(var o of narr){
if(!map.hasOwnProperty(o.parent)){ //### [使用 `hasOwnProperty` 方法判断属性是否存,返回布尔
map[o.parent] = o;
const val = map[o.parent].id;
map[o.parent].id = [val];
}else{
map[o.parent].id.push(o.id);
}
}
function transform(obj){
var arr = [];
for(var item in obj){
arr.push(obj[item]);
}
finalarr(arr)
// 更改arr中key的名字,如果没有需求可以忽略
function finalarr(farry){
if(farry.length>0){
farry.forEach(function(item,index){
var val=item.id;
var mval=val.join(',');
delete item.id;
item['monitoring']=mval;
var pval=item.parent;
delete item.parent;
item['device']=pval;
})
// 绑定传值
GetBings(JSON.stringify(farry))
}
}
}
transform(map);
网友评论