Javascript 如何将一个对象附加到另一个对象?
有人能帮我把一个对象附加到另一个对象上吗?例如,我有原始对象:Javascript 如何将一个对象附加到另一个对象?,javascript,Javascript,有人能帮我把一个对象附加到另一个对象上吗?例如,我有原始对象: var object = { { product_code: '55993', brand: 'Phillips66', category: 'LUBES AND GREASES', description: 'cuatro cinco seis', price: '300.00', quantity: '3' } } 我想补充一下: { pro
var object = {
{ product_code: '55993',
brand: 'Phillips66',
category: 'LUBES AND GREASES',
description: 'cuatro cinco seis',
price: '300.00',
quantity: '3'
}
}
我想补充一下:
{ product_code: '90210',
brand: 'Phillips66',
category: 'LUBES AND GREASES',
description: 'cuatro cinco seis',
price: '500.00',
quantity: '5'
}
所以最后,对象
看起来像:
object = {
{ product_code: '55993',
brand: 'Phillips66',
category: 'LUBES AND GREASES',
description: 'cuatro cinco seis',
price: '300.00',
quantity: '3'
},
{ product_code: '90210',
brand: 'Phillips66',
category: 'LUBES AND GREASES',
description: 'cuatro cinco seis',
price: '500.00',
quantity: '5'
}
}
如何执行此操作?您的对象变量应该是数组,而不是对象:
var object = [
{ product_code: '55993',
brand: 'Phillips66',
category: 'LUBES AND GREASES',
description: 'cuatro cinco seis',
price: '300.00',
quantity: '3'
}
]
var object1 = {foo: "bar"};
然后可以向其中添加其他对象:
object.push({ product_code: '90210',
brand: 'Phillips66',
category: 'LUBES AND GREASES',
description: 'cuatro cinco seis',
price: '500.00',
quantity: '5'
});
希望有帮助。您有两个选择:
[
{ product_code: '55993',
brand: 'Phillips66',
category: 'LUBES AND GREASES',
description: 'cuatro cinco seis',
price: '300.00',
quantity: '3'
},
{ product_code: '90210',
brand: 'Phillips66',
category: 'LUBES AND GREASES',
description: 'cuatro cinco seis',
price: '500.00',
quantity: '5'
}
]
注意最外层的[
和]
而不是{
和}
var object = [
{ product_code: '55993',
brand: 'Phillips66',
category: 'LUBES AND GREASES',
description: 'cuatro cinco seis',
price: '300.00',
quantity: '3'
}
]
var object1 = {foo: "bar"};
还有一个目标:
var object2 = {biz: "baz"};
那么选项#1如下所示:
object1.anyNameHere = object2;
…这将为您提供:
{
foo: "bar",
anyNameHere: {
biz: "baz"
}
}
[
{
foo: "bar"
},
{
biz: "baz"
}
]
或选项2:
…这将为您提供:
{
foo: "bar",
anyNameHere: {
biz: "baz"
}
}
[
{
foo: "bar"
},
{
biz: "baz"
}
]
有两种方法,但第一种是使用for循环轻松检索数据的最佳方法
var object1 = { product_code: '55993',
brand: 'Phillips66',
category: 'LUBES AND GREASES',
description: 'cuatro cinco seis',
price: '300.00',
quantity: '3'
};
var object2 ={ product_code: '55993',
brand: 'Phillips66',
category: 'LUBES AND GREASES',
description: 'cuatro cinco seis',
price: '300.00',
quantity: '3'
}
1)创建一个数组变量并推送该数组中的所有对象
var myObjectList = [];
myObjectList.push(object1);
myObjectList.push(object2);
2)您可以创建对象并为该对象赋值
var myObjectList = {object1: object1, object2 : object2};
可以使用ES6 spread运算符附加对象
object = { ...object,
...{ product_code: '90210',
brand: 'Phillips66',
category: 'LUBES AND GREASES',
description: 'cuatro cinco seis',
price: '500.00',
quantity: '5'
}
}
我投票赞成使用扩展语法的CaptainAdmin答案。非常有用,很高兴知道它在那里。但是,在这种情况下,使用以下内容更方便、更正确:
var o1 = {
product_name: "Super One",
};
var o2 = {
quantity: 50,
};
specializeWith(o1, o2);
其中:
function specialize_with(o, S) { for (var prop in S) { o[prop] = S[prop]; } }
那么您的o1
将是:
var o1 = {
product_name: "Super One",
quantity: 50,
};
不幸的是,仔细观察最初的问题,我发现这并不是最初被问到的问题。需要的是对象数组,而不是继承、专门化或扩展。还是把它留在这里
另请参见,specializeWith()就是从这里开始的
请再次查看。
var对象={{key:“value”}}
不是有效的JavaScript。对象属性需要键。你的问题中没有JSON。JSON是一种文本表示法。如果您处理的是JavaScript源代码,而不是字符串,那么您就不是在处理JSON。使用对象数组,您试图使用对象的对象,这将变得更加复杂,而且您当前的结构也不支持它