Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用相同属性值的数组将多个对象合并为单个对象_Javascript_Jquery - Fatal编程技术网

Javascript 使用相同属性值的数组将多个对象合并为单个对象

Javascript 使用相同属性值的数组将多个对象合并为单个对象,javascript,jquery,Javascript,Jquery,我有五个json对象obj1、obj2、obj3、obj4和obj5,我想将它们合并成一个json对象,obj有相同的列。结果json应该具有来自所有对象的所有值 问题: var obj1 = { "DOP":"manu", "Resolution":23, "sensor":"SE" } var obj2 = { "DOP":"mansa", "Resolution":22, "sensor":"PS" } 就像所有五个对象数据和结果都应该只

我有五个json对象obj1、obj2、obj3、obj4和obj5,我想将它们合并成一个json对象,obj有相同的列。结果json应该具有来自所有对象的所有值
问题:

var obj1 = {
    "DOP":"manu",
    "Resolution":23,
    "sensor":"SE"
}

var obj2 = {
    "DOP":"mansa",
    "Resolution":22,
    "sensor":"PS"
}
就像所有五个对象数据和结果都应该只更新行而不是列,并且预期的结果应该是

var result = {
    "Dop":["manu","mansa"],
    "Resolution":[23,25],
    "Sensor":["SE","PS"]
}
您可以对(obj中的x)使用


你想要的结果是非法的。 您所能拥有的只是json的数组

var result=[{“DOP”:“mansa”,“Resolution”:22,“sensor”:“PS”},
{“DOP”:“manu”,“分辨率”:23,“传感器”:“SE”}
]
var x={“学生分数”:{“数学”:1,“物理”:5};
变量y={“学生分数”:{“化学”:3,“历史”:2};
$.extend(true,{},x,y)


我从这里得到了答案:

您可以基于
myCustomMerge()
函数中将无限对象作为参数传递来合并对象

函数myCustomMerge(){
var-return_obj={};
for(i在参数中){
obj=参数[i];
对于(obj中的j){
if(返回_obj[j]==未定义){
返回_obj[j]=[obj[j]];
}否则{
return_obj[j]。push(obj[j]);
}
}
}
返回对象;
}
变量obj1={
“DOP”:“manu”,
“决议”:23,
“传感器”:“SE”
}
变量obj2={
“DOP”:“曼萨”,
“决议”:22,
“传感器”:“PS”,
“特殊对象2”:“我的特殊价值”
}
变量obj3={
“DOP”:“top”,
“决议”:36,
“传感器”:“我”,
“特殊对象2”:“我的特殊值2”
}
var merged_obj=myCustomMerge(obj1、obj2、obj3);

控制台日志(合并对象)
您的结果不是有效的json对象您可以得到如下结果
var result={“Dop”:[“manu”,“mansa”],“Resolution”:[23,25],“Sensor”:[“SE”,“PS”]}
结果不是有效的json,请告诉我们这是您想要的输出还是需要有效的合并json结果?@rachana,你看过我的答案了吗?我不认为这是OP的解决方案。@HareshVidja它取决于OP想要输出的方式。你不能决定。我还没有决定输出检查问题编辑修订,
var result = {}
for (x in obj1) { result[x] = obj1[x] + ', ' + obj2[x] }
//Object {DOP: "manu, mansa", Resolution: "23, 22", sensor: "SE, PS"}