Javascript 将数组中的对象属性推送到另一个对象数组中
我试图弄清楚如何从一个数组中获取对象,并将它们合并到另一个对象数组的对象中。我正在angular 5应用程序中使用Typescript 数组1:Javascript 将数组中的对象属性推送到另一个对象数组中,javascript,typescript,ecmascript-6,Javascript,Typescript,Ecmascript 6,我试图弄清楚如何从一个数组中获取对象,并将它们合并到另一个对象数组的对象中。我正在angular 5应用程序中使用Typescript 数组1: [ { "outcomeId": 1, "outcomeName": "draw", "stake": 100 }, { "outcomeId": 12, "outcomeName": "Gandzasar Kapan FC 2", "stake": 100000000 } ] [
[
{
"outcomeId": 1,
"outcomeName": "draw",
"stake": 100
},
{
"outcomeId": 12,
"outcomeName": "Gandzasar Kapan FC 2",
"stake": 100000000
}
]
[
{
"success": true
},
{
"success": false,
"error": {
"description": "Insufficient balance 989066"
}
}
]
[
{
"outcomeId": 9171077,
"outcomeName": "draw",
"stake": 100,
"success": true
},
{
"outcomeId": 9171076,
"outcomeName": "Gandzasar Kapan FC 2",
"stake": 100000000,
"success": false,
"error": {
"description": "Insufficient balance 989066"
}
}
]
数组2:
[
{
"outcomeId": 1,
"outcomeName": "draw",
"stake": 100
},
{
"outcomeId": 12,
"outcomeName": "Gandzasar Kapan FC 2",
"stake": 100000000
}
]
[
{
"success": true
},
{
"success": false,
"error": {
"description": "Insufficient balance 989066"
}
}
]
[
{
"outcomeId": 9171077,
"outcomeName": "draw",
"stake": 100,
"success": true
},
{
"outcomeId": 9171076,
"outcomeName": "Gandzasar Kapan FC 2",
"stake": 100000000,
"success": false,
"error": {
"description": "Insufficient balance 989066"
}
}
]
结果数组:
[
{
"outcomeId": 1,
"outcomeName": "draw",
"stake": 100
},
{
"outcomeId": 12,
"outcomeName": "Gandzasar Kapan FC 2",
"stake": 100000000
}
]
[
{
"success": true
},
{
"success": false,
"error": {
"description": "Insufficient balance 989066"
}
}
]
[
{
"outcomeId": 9171077,
"outcomeName": "draw",
"stake": 100,
"success": true
},
{
"outcomeId": 9171076,
"outcomeName": "Gandzasar Kapan FC 2",
"stake": 100000000,
"success": false,
"error": {
"description": "Insufficient balance 989066"
}
}
]
我知道如何使用.map在数组上循环,但我不知道如何使用两个数组进行循环,然后合并它们。类似这样的内容:
array1.map((element, index) => ({ ...element, ...array2[index]}));
这将通过扩展当前元素的属性以及其他数组中该索引处相应元素的属性来创建新对象
常量数组1=[
{
“结果ID”:1,
“结果名称”:“绘制”,
“赌注”:100
},
{
“结果”:12,
“结果名称”:“Gandzasar Kapan FC 2”,
“股份”:100000000
}
]
常数阵列2=
[
{
“成功”:真的吗
},
{
“成功”:错误,
“错误”:{
“说明”:“余额不足989066”
}
}
]
const result=array1.map((元素,索引)=>({…元素,…array2[index]}));
控制台日志(结果)代码>类似以下内容:
array1.map((element, index) => ({ ...element, ...array2[index]}));
这将通过扩展当前元素的属性以及其他数组中该索引处相应元素的属性来创建新对象
常量数组1=[
{
“结果ID”:1,
“结果名称”:“绘制”,
“赌注”:100
},
{
“结果”:12,
“结果名称”:“Gandzasar Kapan FC 2”,
“股份”:100000000
}
]
常数阵列2=
[
{
“成功”:真的吗
},
{
“成功”:错误,
“错误”:{
“说明”:“余额不足989066”
}
}
]
const result=array1.map((元素,索引)=>({…元素,…array2[index]}));
控制台日志(结果)代码>此方法将创建一个新数组,新数组和旧数组将引用一些对象
var array1=[{“outcomeId”:1,“outcomeName”:“draw”,“stack”:100},{“outcomeId”:12,“outcomeName”:“Gandzasar Kapan FC 2”,“stack”:100000000}];
var array2=[{“success”:true},{“success”:false,“error”:{“description”:“余额不足989066”}]
var result=array1.map((o,i)=>({…o,…array2[i]}))
控制台日志(结果)代码>
.as console wrapper{max height:100%!important;top:0;}
此方法将创建一个新数组,新数组和旧数组将引用一些对象
var array1=[{“outcomeId”:1,“outcomeName”:“draw”,“stack”:100},{“outcomeId”:12,“outcomeName”:“Gandzasar Kapan FC 2”,“stack”:100000000}];
var array2=[{“success”:true},{“success”:false,“error”:{“description”:“余额不足989066”}]
var result=array1.map((o,i)=>({…o,…array2[i]}))
控制台日志(结果)代码>
作为控制台包装{max height:100%!important;top:0;}
非常感谢您的回答并显示object.assign选项。我使用了扩展运算符选项。谢谢非常感谢您的回答并显示object.assign选项。我使用了扩展运算符选项。谢谢