Javascript 在没有分区数组的情况下连接两个对象
我不知道怎么做,所以任何帮助都将不胜感激。我有两个对象要合并成一个对象。我使用了spread操作符来执行此操作:Javascript 在没有分区数组的情况下连接两个对象,javascript,Javascript,我不知道怎么做,所以任何帮助都将不胜感激。我有两个对象要合并成一个对象。我使用了spread操作符来执行此操作: newObj = {...obj1, ...obj2}; 例如,这给了我以下信息: { [ obj1A{ "item": "stuff", "item": "stuff" }, obj1B{ "item": "stuff", "item": "stuff" } ], [ obj2A{
newObj = {...obj1, ...obj2};
例如,这给了我以下信息:
{
[
obj1A{
"item": "stuff",
"item": "stuff"
},
obj1B{
"item": "stuff",
"item": "stuff"
}
],
[
obj2A{
"item": "stuff",
"item": "stuff"
},
obj2B{
"item": "stuff",
"item": "stuff"
}
]
}
但我想要的是:
{
[
obj1A{
"item": "stuff",
"item": "stuff"
},
obj1B{
"item": "stuff",
"item": "stuff"
},
obj2A{
"item": "stuff",
"item": "stuff"
},
obj2B{
"item": "stuff",
"item": "stuff"
}
]
}
任何人都知道如何做到这一点吗?使用正确的唯一名称,您可以使用并创建一个新对象
var object1={obj1A:{item1:“stuff”,item2:“stuff”},obj1B:{item1:“stuff”,item2:“stuff”},
object2={obj2A:{item1:“stuff”,item2:“stuff”},obj2B:{item1:“stuff”,item2:“stuff”},
combined=Object.assign({},object1,object2);
控制台日志(组合)代码>
。作为控制台包装{max height:100%!important;top:0;}
使用正确的唯一名称,您可以使用并创建一个新对象
var object1={obj1A:{item1:“stuff”,item2:“stuff”},obj1B:{item1:“stuff”,item2:“stuff”},
object2={obj2A:{item1:“stuff”,item2:“stuff”},obj2B:{item1:“stuff”,item2:“stuff”},
combined=Object.assign({},object1,object2);
控制台日志(组合)代码>
.as控制台包装{max height:100%!important;top:0;}
如果使用jQuery,可以执行类似的操作:
如果您使用的是jQuery,则可以执行类似的操作:
假设您有输入错误(将此[]
更改为此{}
),并且键是有效的(不重复),则可以使用扩展语法
var obj1={obj1A:{item:“stuff”,item2:“stuff”},obj1B:{item:“stuff”,item2:“stuff”},
obj2={obj2A:{item:“stuff”,item2:“stuff”},obj2B:{item:“stuff”,item2:“stuff”}
log({…obj1,…obj2})代码>
.as console wrapper{max height:100%!important;top:0;}
假设您有输入错误(将此[]
更改为此{}
),并且键是有效的(不重复),则可以使用扩展语法
var obj1={obj1A:{item:“stuff”,item2:“stuff”},obj1B:{item:“stuff”,item2:“stuff”},
obj2={obj2A:{item:“stuff”,item2:“stuff”},obj2B:{item:“stuff”,item2:“stuff”}
log({…obj1,…obj2})代码>
。作为控制台包装{最大高度:100%!重要;顶部:0;}
请添加有效对象。数组没有文字语法的属性。请添加有效的对象。数组没有文本语法中的属性。当然,如果这是对象的形状,那么原始技术在这里也同样适用:combined={…object1,…object2}
。所以我怀疑这里还发生了别的事情。@ScottSauyet,实际上并不是所有的用户代理都有。哦,我从来没有意识到。只是旧的吗?谢谢。我最近才重新开始使用浏览器。最近节点过多;与一个evergreen代理一起工作非常方便!接受这个答案,因为它对所问的问题是正确的。虽然这不能解决我的问题。我已经在使用spread操作符,不管兼容性如何,它都会做同样的事情。我想我会提出一个更具体的问题。为最初问题的一般性道歉。当然,如果这是对象的形状,那么原始技术在这里也同样适用:combined={…object1,…object2}
。所以我怀疑这里还发生了别的事情。@ScottSauyet,实际上并不是所有的用户代理都有。哦,我从来没有意识到。只是旧的吗?谢谢。我最近才重新开始使用浏览器。最近节点过多;与一个evergreen代理一起工作非常方便!接受这个答案,因为它对所问的问题是正确的。虽然这不能解决我的问题。我已经在使用spread操作符,不管兼容性如何,它都会做同样的事情。我想我会提出一个更具体的问题。对最初问题的概括性表示歉意。问题指出这不起作用。因此,我怀疑原始对象并非如建议的那样。(这不仅仅是一个括号的改变。)问题指出这不起作用。因此,我怀疑原始对象并非如建议的那样。(这不仅仅是括号的改变。)
var a = {
propertyOne: 'One',
propertyTwo: 'Two'
};
var b = {
propertyThree: 'Three',
propertyFour: 'Four'
}
var c = $.extend(a, b);
console.log(c);