var arr=[ {a:3,b:0,c:1}, {a:3,b:0,c:2}, {a:5,b:0,c:0}, {a:5,b:1,c:0} ]
判断:若a值相同,b也相同,合并
var arr=[ {a:3,b:0,c:1,2}, {a:5,b:0,c:0}, {a:5,b:1,c:0} ]
js对象数组的合并问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答
- Go 旅城通票 2016-03-26 12:14关注
var arr = [{ a: 3, b: 0, c: 1 }, { a: 3, b: 0, c: 2 }, { a: 5, b: 0, c: 0 }, { a: 5, b: 1, c: 0 }, { a: 3, b: 0, c: 3 }] var rst = {},k; for (var i = 0; i <arr.length-1; i++) { k = arr[i].a + '-' + arr[i].b; if (rst[k]) { if (typeof rst[k].c == 'number') rst[k].c = [rst[k].c, arr[i].c]; else rst[k].c.push(arr[i].c); } else rst[k] = arr[i]; } arr = []; for (k in rst) arr.push(rst[k]); console.log(arr)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
- ¥15 牛顿斯科特系数表表示
- ¥15 arduino 步进电机
- ¥20 程序进入HardFault_Handler
- ¥15 oracle集群安装出bug
- ¥15 关于#python#的问题:自动化测试
- ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
- ¥15 教务系统账号被盗号如何追溯设备
- ¥20 delta降尺度方法,未来数据怎么降尺度
- ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效