原数据格式:
{
"status":1,
"msg": "返回成功",
"data": [
{
"name":"xxxx",
"userId":"xxxxx",
"pointiInfo": [ {
"longitude":"134.3215",
"latitude":"25.3127",
"pointTime":"2018-09-01 12:12:10"
},
{
"longitude":"134.3215",
"latitude":"25.3127",
"pointTime":"2018-09-01 12:12:10"
}
]
}
]
}
梳理后的数据格式
{
"status":1,
"msg": "返回成功",
"data": [
{
"name":"xxxx",
"userId":"xxxxx",
"longitude":"134.3215",
"latitude":"25.3127",
"pointTime":"2018-09-01 12:12:10",
"pointiInfo":null
},
{
"name":"xxxx",
"userId":"xxxxx",
"longitude":"134.3215",
"latitude":"25.3127",
"pointTime":"2018-09-01 12:12:10",
"pointiInfo":null
}
]
}
所用代码如下
var res=new Array();
d.data.map(item => {
item.pointiInfo.map(area => {
item.longitude =area.longitude;
item.latitude = area.latitude;
item.pointTime = area.pointTime;
item.pointDesc = area.pointDesc;
item.pointiInfo=null;
res.push(item);
})
})
console.log("历史",res);
原理:先定义一个res数组,然后遍历data数组,进一步遍历pointiInfo数组,把pointiInfo的数组取出,,放入新建的res数组。
DataTable列表
var res=new Array();
d.data.map(item => {
item.pointiInfo.map(area => {
item.longitude =area.longitude;
item.latitude = area.latitude;
item.pointTime = area.pointTime;
item.pointDesc = area.pointDesc;
item.pointiInfo=null;
res.push(item);
})
})
console.log("历史",res);
var json = {
"data": res,
"iTotalRecords": res.size,
"iTotalDisplayRecords": res.total,
}
callback(json);
用for,因为map在IE下有兼容问题
var res=new Array();
var data=d.data;
for(var i=0; i<data.length; i++){
var area=data[i].pointiInfo;
if(area.length != 0 && area != null){
// alert(JSON.stringify(area));
// debugger;
for(var j=0; j<area.length; j++){
data[i].longitude =area[j].longitude;
data[i].latitude = area[j].latitude;
data[i].pointTime = area[j].pointTime;
data[i].pointDesc = area[j].pointDesc;
data[i].pointiInfo=null;
res.push(data[i]);
console.log("data[i]:",data[i])
}
}
}