Javascript 如何将一个项目推入包含15个对象的数组

Javascript 如何将一个项目推入包含15个对象的数组,javascript,arrays,angularjs,Javascript,Arrays,Angularjs,我从其他请求中获得array2图像,因此我分配到array2。现在我想将这个array2推送到array1中。所以我创建了一个对象 var array1 = [{ "candidateId": 57, "firstName": "Sumit", "lastName": "Kumar Gupta", "displayName": "Sumit1", "locked": false, "photoId": -1, "resumeId": -1, "experience

我从其他请求中获得
array2
图像,因此我分配到
array2
。现在我想将这个
array2
推送到
array1
中。所以我创建了一个对象

var array1 = [{
  "candidateId": 57,
  "firstName": "Sumit",
  "lastName": "Kumar Gupta",
  "displayName": "Sumit1",
  "locked": false,
  "photoId": -1,
  "resumeId": -1,
  "experience": " 6 Months",
  "email": "sumit1@test.com",
  "mobile": "+91.8100688592",
  "preferredLocation": [
    "Bangalore"
  ],
  "currentEmployer": [

  ],
  "skills": [{
    "skillName": "JAVA",
    "level": "advanced",
    "candidateRating": "5",
    "rating": 0
  }],
  "viewed": true,
  "nextStates": [{
    "state": "Approach"
  }]]


var array2 = [image1]
试着推

'image'  
array2.push({'image':image1})

for(var i=0;i
array1[i]['image']=image1;
array1[i]。image=image1;

您需要使用属性访问器将图像对象添加到array1值

演示
var数组1=[{
“候选身份”:57,
“名字”:“Sumit”,
“姓氏”:“库马尔·古普塔”,
“displayName”:“Sumit1”,
“锁定”:false,
“照片ID”:-1,
“简历ID”:-1,
“经验”:“6个月”,
“电子邮件”:sumit1@test.com",
“手机”:“+91.8100688592”,
“首选位置”:[
“班加罗尔”
],
“当前雇主”:[
],
“技能”:[{
“skillName”:“JAVA”,
“级别”:“高级”,
“候选资格”:“5”,
“评级”:0
}],
“查看”:正确,
“下一个州”:[{
“状态”:“方法”
}]
}]
对于(变量i=0;iconsole.log(array1)
array1[i]['image']=image1;
array1[i]。image=image1;

您需要使用属性访问器将图像对象添加到array1值

演示
var数组1=[{
“候选身份”:57,
“名字”:“Sumit”,
“姓氏”:“库马尔·古普塔”,
“displayName”:“Sumit1”,
“锁定”:false,
“照片ID”:-1,
“简历ID”:-1,
“经验”:“6个月”,
“电子邮件”:sumit1@test.com",
“手机”:“+91.8100688592”,
“首选位置”:[
“班加罗尔”
],
“当前雇主”:[
],
“技能”:[{
“skillName”:“JAVA”,
“级别”:“高级”,
“候选资格”:“5”,
“评级”:0
}],
“查看”:正确,
“下一个州”:[{
“状态”:“方法”
}]
}]
对于(变量i=0;ilog(array1)
看起来您正试图访问数组2中比可用索引多得多的索引

尝试:


for(var i=0;i看起来您试图访问数组2中比可用索引多得多的索引

尝试:


for(var i=0;i如果您试图映射两个长度相等的数组,其中每个索引位置的一个对象将被合并,那么您可以覆盖其中一个数组,并使用浅层复制和合并对象。如果需要不修改任何一个输入数组,这种方法将有助于防止副作用

守则是:

for(var i=0; i<array1.length;i++){
  array1[i].push(array2[0]);
}
还有一个演示:

var数组1=[{
“候选身份”:57,
“名字”:“Sumit”,
“姓氏”:“库马尔·古普塔”,
“displayName”:“Sumit1”,
“锁定”:false,
“照片ID”:-1,
“简历ID”:-1,
“经验”:“6个月”,
“电子邮件”:sumit1@test.com",
“手机”:“+91.8100688592”,
“首选位置”:[
“班加罗尔”
],
“当前雇主”:[
],
“技能”:[{
“skillName”:“JAVA”,
“级别”:“高级”,
“候选资格”:“5”,
“评级”:0
}],
“查看”:正确,
“下一个州”:[{
“状态”:“方法”
}]
}];
var array2=[“image1”];
var combined=array1.map((obj,i)=>({…obj,image:array2[i]}));

console.log(组合);
如果您试图映射两个长度相等的数组,其中每个索引位置的对象将被合并,那么您可以覆盖其中一个数组,并使用浅层复制和合并对象。如果需要不修改任何一个输入数组,这种方法将有助于防止副作用

守则是:

for(var i=0; i<array1.length;i++){
  array1[i].push(array2[0]);
}
还有一个演示:

var数组1=[{
“候选身份”:57,
“名字”:“Sumit”,
“姓氏”:“库马尔·古普塔”,
“displayName”:“Sumit1”,
“锁定”:false,
“照片ID”:-1,
“简历ID”:-1,
“经验”:“6个月”,
“电子邮件”:sumit1@test.com",
“手机”:“+91.8100688592”,
“首选位置”:[
“班加罗尔”
],
“当前雇主”:[
],
“技能”:[{
“skillName”:“JAVA”,
“级别”:“高级”,
“候选资格”:“5”,
“评级”:0
}],
“查看”:正确,
“下一个州”:[{
“状态”:“方法”
}]
}];
var array2=[“image1”];
var combined=array1.map((obj,i)=>({…obj,image:array2[i]}));

console.log(组合)
您是否正在尝试映射两个长度相等的数组,其中每个索引位置的对象将被合并?那么,将图像数组映射到数组1的逻辑是如何工作的?是否所有图像都添加到数组1中的每个对象?是的。它应该添加到每个对象。数组1的长度将等于数组2。抱歉上一篇评论您是否尝试映射两个长度相等的数组,其中每个索引位置的对象将被合并?那么,将图像数组映射到数组1的逻辑是如何工作的?是否所有图像都添加到数组1中的每个对象?是的。它应添加到每个对象。数组1的长度将等于数组2。因此rry对于之前的评论,它不工作。我的阵列1没有对象图像。它会工作吗?它不工作。我的阵列1没有对象图像。它会工作吗?
array1.map((obj, i) => ({...obj, image: array2[i]}));