有相同键值的json合并为一个数组

摘要:
今天我们分享如何使用javascript将具有相同键值的两个json组合成一个数组。众所周知,arr1和arr2的长度相等,arr1与arr2包含相同的键值id。如何使用js来实现合并。以下数据:varmerge=[{id:12,名称:20,标题:500},{id:13,名称:30,标题:666}];以下是实施过程。

今天我们分享的是,如何使用javascript来将两个含有相同键值的json合并为一个数组。

已知arr1的长度和arr2相等,arr1和arr2含有相同的键值id,使用js如何得到merge。

如下数据:

var merge= [{id: 12,name: 20,title: 500}, {id: 13,name: 30,title: 666}];

下面是实现过程。

<script>
var arr1 = [{ id: 12, name: 20 }, { id: 13, name: 30 }];
var arr2 = [{ id: 12, title: 500 }, { id: 13, title: 666 }];
var merge = [], kvIndex = {};
for (var i = 0; i < arr1.length; i++) {
    for (var j = 0; j < arr2.length; j++) {
        if (arr1[i].id == arr2[j].id) {
            var item
            if (kvIndex[arr1[i].id] == undefined) {
                kvIndex[arr1[i].id] = merge.length;
                item = {};
                for (var attr in arr1[i]) item[attr] = arr1[i][attr];
                merge[kvIndex[arr1[i].id]] = item;

            } else item = merge[kvIndex[arr1[i].id]];
            for (var attr in arr2[j]) item[attr] = arr2[j][attr];
        }
    }
}
console.log(merge)
</script> 

文摘原创自http://www.santii.com/article/148.html

免责声明:文章转载自《有相同键值的json合并为一个数组》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇php简单混淆类加密文件如何解密?人机交互之我的输入法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

[SVN] 分支同步、合入主干操作分享

冲突的解决原则 不是自己修改的地方就使用主干的。 需要特别注意的是: 分支同步主干时,远端(theirs)是主干,本地(mine/working)的是分支; 分支合入主干时,本地(mine/working)的是主干,远端(theirs)是分支。 二进制文件的冲突解决 对于*.jar*.png等二进制文件的冲突,如果这些文件与你的业务开发是无关的,直接右键"...

sqlserver 索引

什么是索引 拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般为4K。为了加快查找的速度,汉语字(词)典一般都有按拼音、笔画、偏旁部首等排序的目录(索引),我们可以选择按拼音或笔画查找方式,快速查找到需要的字(词)。 同理,SQL Server允许用户在表中创建索引,指定按某列预...

Scala从入门到精通之四-映射和元组

在Scala中映射之键值对的集合,元组是n个对象的聚集,但是对象的类型不一定相同 本节内容要点   Scala中映射的创建,遍历和查询   如何从可变和不可变映射中做出选择   Scala映射和Java映射见的互操作   Scala中元组的使用 一.构造映射 我们可以这样来构造一个映射: val scores = Map("ysl"->100,"...

KVC中setValuesForKeysWithDictionary

从字典映射到一个对象,这是KVC中的一个方法所提供的,这个方法就是 setValuesForKeysWithDictionary: ,非常好用,不需要你来一一的给对象赋值而直接从字典初始化即可,但用的不好会经常崩溃,本教程就来讨论这些使用的细节. 首先,先初始化一个字典,如下所示: -------------------------------------...

DB2 replace into实现

最近进入到另一个项目, 数据库用的是DB2, 要实现MySQL中类似replace into的功能, 网上搜了下, 实现了一个类似功能的基础方法(PHP实现) public function replace($table, $arr, $pks){ $values = ''; $keys = '';...

浅谈SQL Server中的三种物理连接操作

本文转自:https://msdn.microsoft.com/zh-cn/library/dn144699.aspx 感觉写的很好,特此收录,以备自己和需要的朋友查看 简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,M...