修改json数据机构

___紫菜 2019-03-29 01:28:24

var datasss = [
{"orderid":1,"payprice":140,"orderdate":"2019-03-21 16:30:22","statusname":"待付款","img":"wuhuameat.jpg"},
{"orderid":1,"payprice":140,"orderdate":"2019-03-21 16:30:22","statusname":"待付款","img":"Chickenwings.jpg"},
{"orderid":1,"payprice":140,"orderdate":"2019-03-21 16:30:22","statusname":"待付款","img":"zhouheiya.jpg"},
{"orderid":1,"payprice":140,"orderdate":"2019-03-21 16:30:22","statusname":"待付款","img":"steak.jpg"},
{"orderid":1,"payprice":140,"orderdate":"2019-03-21 16:30:22","statusname":"待付款","img":"luyu.jpg"},
{"orderid":2,"payprice":27.7,"orderdate":"2019-03-28 14:54:16","statusname":"待付款","img":"qingzao.jpg"},
{"orderid":2,"payprice":27.7,"orderdate":"2019-03-28 14:54:16","statusname":"待付款","img":"mangguo.jpg"},
{"orderid":2,"payprice":27.7,"orderdate":"2019-03-28 14:54:16","statusname":"待付款","img":"boluo.jpg"}
]


转成

var datasss = [
{"orderid":1,"payprice":140,"orderdate":"2019-03-21 16:30:22","statusname":"待付款","img":["wuhuameat.jpg","Chickenwings.jpg","zhouheiya.jpg","steak.jpg","luyu.jpg",]},
{"orderid":2,"payprice":27.7,"orderdate":"2019-03-28 14:54:16","statusname":"待付款","img":["qingzao.jpg","mangguo.jpg","boluo.jpg"]}
]
...全文
114 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
風灬雲 2019-03-29
  • 打赏
  • 举报
回复
var datasss = [ {"orderid":1,"payprice":140,"orderdate":"2019-03-21 16:30:22","statusname":"待付款","img":"wuhuameat.jpg"}, {"orderid":1,"payprice":140,"orderdate":"2019-03-21 16:30:22","statusname":"待付款","img":"Chickenwings.jpg"}, {"orderid":1,"payprice":140,"orderdate":"2019-03-21 16:30:22","statusname":"待付款","img":"zhouheiya.jpg"}, {"orderid":1,"payprice":140,"orderdate":"2019-03-21 16:30:22","statusname":"待付款","img":"steak.jpg"}, {"orderid":1,"payprice":140,"orderdate":"2019-03-21 16:30:22","statusname":"待付款","img":"luyu.jpg"}, {"orderid":2,"payprice":27.7,"orderdate":"2019-03-28 14:54:16","statusname":"待付款","img":"qingzao.jpg"}, {"orderid":2,"payprice":27.7,"orderdate":"2019-03-28 14:54:16","statusname":"待付款","img":"mangguo.jpg"}, {"orderid":2,"payprice":27.7,"orderdate":"2019-03-28 14:54:16","statusname":"待付款","img":"boluo.jpg"} ] var res=[]; datasss.forEach(e=>{ if(!res.some(f=>{ if(f.orderid===e.orderid){ f.img.push(e.img) } return f.orderid===e.orderid })){ e.img=[e.img] res.push(e) } }) console.log(res)
麦草CMS 2019-03-29
  • 打赏
  • 举报
回复
var orderid, newData = [], img;
datasss.forEach( function(value){
if(typeof orderid === "undefined" || (typeof orderid !== "undefined" && value.orderid != orderid )){
img = value.img;
value.img = [img];
newData.push(value);
orderid = value.orderid
}else{
newData[newData.length - 1].img.push(value.img);
}
});
麦草CMS 2019-03-29
  • 打赏
  • 举报
回复
var orderid, newData = [], img;
datasss.forEach( function(value){
if(typeof orderid === "undefined" || (typeof orderid !== "undefined" && value.orderid != orderid )){
img = value.img;
newData.push(value);
orderid = value.orderid
}else{
newData[newData.length - 1].img.push(value.img);
}
});
Hello World, 2019-03-29
  • 打赏
  • 举报
回复
orderid应该是不重复的,用来作key处理:
    var datasss = [
{ "orderid": 1, "payprice": 140, "orderdate": "2019-03-21 16:30:22", "statusname": "待付款", "img": "wuhuameat.jpg" },
{ "orderid": 1, "payprice": 140, "orderdate": "2019-03-21 16:30:22", "statusname": "待付款", "img": "Chickenwings.jpg" },
{ "orderid": 1, "payprice": 140, "orderdate": "2019-03-21 16:30:22", "statusname": "待付款", "img": "zhouheiya.jpg" },
{ "orderid": 1, "payprice": 140, "orderdate": "2019-03-21 16:30:22", "statusname": "待付款", "img": "steak.jpg" },
{ "orderid": 1, "payprice": 140, "orderdate": "2019-03-21 16:30:22", "statusname": "待付款", "img": "luyu.jpg" },
{ "orderid": 2, "payprice": 27.7, "orderdate": "2019-03-28 14:54:16", "statusname": "待付款", "img": "qingzao.jpg" },
{ "orderid": 2, "payprice": 27.7, "orderdate": "2019-03-28 14:54:16", "statusname": "待付款", "img": "mangguo.jpg" },
{ "orderid": 2, "payprice": 27.7, "orderdate": "2019-03-28 14:54:16", "statusname": "待付款", "img": "boluo.jpg" }
]
var items = {};
datasss.forEach(function (item) {
if (items[item.orderid]) {
items[item.orderid].img.push(item.img);
} else {
var img = item.img;
delete item.img;
item.img = [];
item.img.push(img);
items[item.orderid] = item;
}
});
console.log(items);

___紫菜 2019-03-29
  • 打赏
  • 举报
回复
引用 3 楼 麦草CMS 的回复:
对不起,没看到后面影藏的内容不一样,以为去掉相同的。
麦草CMS 2019-03-29
  • 打赏
  • 举报
回复
对不起,没看到后面影藏的内容不一样,以为去掉相同的。
麦草CMS 2019-03-29
  • 打赏
  • 举报
回复
var cache, newData = [];
datasss.forEach( function(value){
value = JSON.stringify(value);
if(typeof cache === "undefined" || (typeof cache !== "undefined" && value != cache )){
newData.push(value);
cache = value;
}
});
麦草CMS 2019-03-29
  • 打赏
  • 举报
回复
var cache, newData = [];
datasss.forEach( function(value){
if(typeof cache === "undefined" || (typeof cache !== "undefined" && value != cache )){
newData.push(value);
cache = value;
}
});

87,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧