[英]How to merge json array with same values in javascript
I have two array and i want to merge the data with the same value of 我有两个数组,我想合并具有相同值的数据
"calleridnum":"0090000163",
"uid":"0090000163",
"calleridnum":"0090000163",
"uid":"0090000163",
this is my first array: 这是我的第一个数组:
[
{
"_id":"55d44fe38879f12e6431c23c",
"event":"ConfbridgeJoin",
"channel":"SIP/peer_voip301confbridge-00000145",
"uniqueid":"1439977429.777",
"conference":"0090000167",
"calleridnum":"0090000163",
"calleridname":"0090000163",
"__v":0,
"sipSetting":{
"accountcode":"",
"accountcode_naisen":"202",
"extentype":0,
"extenrealname":"",
"name":"0090000163",
"secret":"Myojyo42f!",
"username":"0090000163",
"context":"innercall_xdigit",
"gid":101,
"cid":"0090000007"
}
}
]
This is my second array 这是我的第二个数组
[
{
"id":8,
"uid":"0090000163",
"cid":"0090000007",
"extension":"202",
"secret":"Myojyo42f!",
"leader":true,
"simultaneous":false,
"confbridge_id":6,
"created_at":"2015-08-18 09:22:20",
"updated_at":"2015-08-18 09:22:20"
},
{
"id":15,
"uid":"0090000164",
"cid":"0090000007",
"extension":"203",
"secret":"Myojyo42f!",
"leader":false,
"simultaneous":false,
"confbridge_id":6,
"created_at":"2015-08-19 01:26:30",
"updated_at":"2015-08-19 01:26:30"
}
]
i want to merge the object with the same value of 0090000163 我想合并具有相同值0090000163的对象
i want to get if calleridnum == uid 我想获得如果calleridnum == uid
i want to get this output 我想得到这个输出
"_id":"55d44fe38879f12e6431c23c",
"event":"ConfbridgeJoin",
"channel":"SIP/peer_voip301confbridge-00000145",
"uniqueid":"1439977429.777",
"conference":"0090000167",
"calleridnum":"0090000163",
"calleridname":"0090000163",
"__v":0,
"sipSetting":{
"accountcode":"",
"accountcode_naisen":"202",
"extentype":0,
"extenrealname":"",
"name":"0090000163",
"secret":"Myojyo42f!",
"username":"0090000163",
"context":"innercall_xdigit",
"gid":101,
"cid":"0090000007"
"id":8,
"uid":"0090000163",
"cid":"0090000007",
"extension":"202",
"secret":"Myojyo42f!",
"leader":true,
"simultaneous":false,
"confbridge_id":6,
"created_at":"2015-08-18 09:22:20",
"updated_at":"2015-08-18 09:22:20"
i do it in php . 我在php中做。 but i dont have much knowledge in javascript
但我对javascript没有太多了解
this is my code in php 这是我在php中的代码
// $apiResults['participants'] == first array
// $apiResults['conference_participants'] == second array
$conf_participants = array();
foreach($apiResults['participants'] as $participant)
{
foreach($apiResults['conference_participants'] as $conference_participant)
{
if($participant['calleridnum'] == $conference_participant['uid'])
{
$conf_participants['uniqueid'] = $participant['uniqueid'];
$conf_participants['event'] = $participant['event'];
$conf_participants['channel'] = $participant['channel'];
$conf_participants['uid'] = $conference_participant['uid'];
}
}
}
lets say you have two arrays of objects arr1
and arr2
You need to loop through both, compare the value calleridnum
from arr1
and uid
from arr2
if they are same then merge the object in arr1
. 假设您有对象
arr1
和arr2
两个数组,您需要遍历两个数组,比较arr1
的值calleridnum
和arr2
uid
(如果它们相同),然后将对象合并到in arr1
。
for(var i in arr1){
for (var j in arr2)
if (arr2[j].uid == arr1[i].calleridnum ) {
$.extend(arr1[i], arr2[j]);
break;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.