我需要将一个对象数组添加到另一个结构如下所示的对象中。
此处arr是需要添加到“目标”对象的对象数组。
我们将不胜感激
结构:
var arr = [
{ field: "state", value: "value2"},
{ field: "city", value: "value3"}
];
此对象数组需要添加到以下结构的对象中:
var dest = {
"topic": "test",
"filter": {
"sequence": [
{
"field": "country",
"value": "value1",
}
]
},
"order": [
{
"field": "field1",
"order": "backward"
}
]
}
我想在“序列”中添加“ arr”字段,以便结果如下:
var dest = {
"topic": "test",
"filter": {
"sequence": [
{
"field": "country",
"value": "value1",
},
{
"field": "state",
"value": "value2",
},
{
"field": "city",
"value": "value3",
}
]
},
"order": [
{
"field": "field1",
"order": "backward"
}
]
}
答案 0 :(得分:1)
使用forEach()
即可完成。
var arr = [
{ field: "state", value: "value2"},
{ field: "city", value: "value3"}
];
var dest = {
"topic": "test",
"filter": {
"sequence": [
{
"field": "country",
"value": "value1",
}
]
},
"order": [
{
"field": "field1",
"order": "backward"
}
]
}
arr.forEach(function (item) {
dest.filter.sequence.push(item)
});
console.log(dest)
还可以使用ES6 spread运算符
var arr = [
{ field: "state", value: "value2"},
{ field: "city", value: "value3"}
];
var dest = {
"topic": "test",
"filter": {
"sequence": [
{
"field": "country",
"value": "value1",
}
]
},
"order": [
{
"field": "field1",
"order": "backward"
}
]
}
dest.filter.sequence.push(...arr)
console.log(dest)
答案 1 :(得分:0)
您只需要使用以下代码即可将数组插入对象。
arr.forEach( function(value, index, array) {
dest.filter.sequence.push(value);
});