之前的回答答案,被点赞了,都快忘了,恰巧自己曾经也用到过,今日记录一下笔记。

原楼主问题:

var arr=[ {a:3,b:4}, {a:3,b:7}, {a:5,b:2}, {a:5,b:1} ]

怎样合并为:

var arr=[ {a:3,b:4,7}, {a:5,b:2,1} ]

答:

 filterRoomNames:function(roomNames){console.log(roomNames);var allRoom = {};if(roomNames.length>0){for(var i=0;i<roomNames.length;i++){var map = roomNames[i];for(var k in map){//console.log(k+','+map[k]);if(k!=null && k!='null'){if(allRoom.hasOwnProperty(k)){ //trueallRoom[k]+= ','+map[k];}else{allRoom[k]=map[k];}}}}}console.log(allRoom);}
解释:上方代码中为吾封装的一个过滤合并的方法,关于roomNames参数是一个数组集合,此数组集合中的json数据如下:
0: {null: "zhang3"}
1: {19-1907: "li4"}
2: {19-1908: "wang5"}
3: {null: "aa"}
4: {null: "bb"}
5: {null: "cc"}
6: {19-1904: "tt"}
7: {19-1904: "tl"}
8: {19-1904: "ty"}
9: {null: "tu"}
10: {null: "uc"}
11: {null: "kj"}
12: {19-1902: "km"}
13: {19-1901: "gc"}
14: {null: "gh"}
15: {null: "gk"}
最终合并输出如下:
{19-1907: "li4", 19-1908: "wang5", 19-1904: "tt,tl,ty", 19-1902: "km", 19-1901: "gc"}

主要关键在于map的key特性及判断key是否存在,再如此类可以此作为参考。

js合并数组相同key值的项相关推荐

  1. js合并对象和js合并数组

    js合并对象 Object.assign(target,xxx,xxx,...)  :将所有可枚举属性的值从一个或多个源对象复制到目标对象 assign<T, U, V>(target: ...

  2. php求两个数组的差值,数组计算差值及项的小计,该如何处理

    数组计算差值及项的小计 本帖最后由 lazygc520 于 2014-04-14 16:19:41 编辑 $s = array ( 0 => array ( 0 => array ( 0  ...

  3. js合并数组对象中key相同的数据,并以此key生成新对象

    1.对象判断 let newAarray = [];if (info.checkedNodes && info.checkedNodes.length > 0) {let idA ...

  4. js 合并数组对象,相同键的求和。合并数组对象中的相同项,并统计数量和

    代码: var list=[{price:1000,amount:1 },{price:1500,amount:3 },{price:1000,amount:1 },{price:1200,amoun ...

  5. php中合并数组保留键值,php合并数组并保留键值的实现方法

    下面为大家分享一篇php合并数组并保留键值的实现方法,具有很好的参考价值,希望对大家有所帮助. php合并数组,一般会使用array_merge方法. array_merge - 合并一个或多个数组 ...

  6. js删除数组里的某一项

    总结了3种方法. 1.首先求出删除的一项在数组中的索引 Array.prototype.indexOf = function(val) {for (var i = 0; i < this.len ...

  7. JS 合并数组的三大方式

    数组是表示索引项的有序集合的数据结构. 对多个数组执行的一个常见操作是合并--将2个或多个数组合并成包含合并数组的所有项的更大数组. 例如,有两个数组[1,2]和[5,6],然后合并这些数组得到[1, ...

  8. js合并数组里面的对象数据,弱合并。

    说明:该方法时通过冒泡方法使用Object.keys方法对数据合并的. /* 合并数组数据 data为数组源数据组 str为需要合并的相叠加的数据 arr数据是不参于比较的数据名称 way是合并方式, ...

  9. Js 将JSON内部key值转换大小写和首字母大写

    /*** @param {Object} json* @param {Object} type: 默认不传 ==>全部小写;传1 ==>全部大写;传2 ==>首字母大写* 将json ...

最新文章

  1. mxnet自定义训练日志
  2. WBLoadingIndicatorView(加载等待动画)
  3. php攻击方式及防御方法,Syn Flood 攻击 及其一般防御方法
  4. easymock教程_EasyMock教程
  5. android launcher3 home页简易分析
  6. 把CSV文件导入到MySQL数据库中
  7. 计算机用的代码怎么写,什么是代码,代码怎么写,怎么样写入电脑
  8. 时间序列数据的正态性检验
  9. 关于WEB服务器硬件配置,你了解多少
  10. Xiuno修罗轻论坛仿知乎蓝简约响应式主题模板1.7+自适应PC+WAP端
  11. 充电桩SaaS平台开发软件开发
  12. 系统未激活会影响到远程桌面连接和上网,是真的
  13. Excel上传,加密,解析
  14. 网页视频播放php拉伸代码,网页在线播放mp4/flv等格式视频方法,CuPlayer(酷播)详细使用方法(附源代码)...
  15. 不准把水放在计算机旁英语翻译,英语翻译translationpra水ctice.ppt
  16. 微信6.5.7手机号码如何解绑
  17. 电脑手机输入法粘贴板同步顶置功能操作步骤
  18. git报错:‘origin’does not appear to be a git repository
  19. 【影视源码】苹果cms时尚大气电影网站源码[自适应wap+去除授权]
  20. 一步步实现一个城市选择器

热门文章

  1. java购物车项目代码_javaweb练手项目jsp+servlet简易购物车系统
  2. C语言-课表排课系统
  3. Warning[w6]: Type conflict for external/entry AClkSet, in module 1 against
  4. 写给想当程序员的朋友们
  5. 图片上的手写文字怎样才能转换成文档文字?
  6. 微信小程序实现附近吃喝玩乐功能-基于百度地图服务搜索附近POI
  7. C++ 类中函数指针的使用
  8. java中从键盘输入的三种方法以及Console输入
  9. 开发那些事儿:Linux系统中如何安装离线版本MySQL?
  10. 高德地图荣获2016金瑞奖“最具成长力产品奖”