hoe een product te duwen array met 15 voorwerpen

stemmen
21
var array1 = [{
  candidateId: 57,
  firstName: Sumit,
  lastName: Kumar Gupta,
  displayName: Sumit1,
  locked: false,
  photoId: -1,
  resumeId: -1,
  experience:  6 Months,
  email: [email protected],
  mobile: +91.8100688592,
  prefferedLocation: [
    Bangalore
  ],
  currentEmployer: [

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


var array2 = [image1]

Ik krijg array2beelden van andere vragen, dus ik toegewezen in array2. Nu wilde ik te duwen of voeg deze array2in array1. Dus heb ik een object

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

en probeerde te duwen

for(var i=0; i<array1.length;i++){
  array1[i].push(array2[i]);
}

maar het werkte niet.

De vraag is gesteld op 29/05/2018 om 12:20
user
In andere talen...                            


3 antwoorden

stemmen
1

array1[i]['image'] = image1;of array1[i].image = image1; U moet uw afbeelding object toe te voegen aan array1 waarde met behulp van onroerend goed accessors.

DEMO

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

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

for (var i = 0; i < array1.length; i++) {
 array1[i]['image'] = 'image1';
}
console.log(array1)

antwoordde op 29/05/2018 om 12:26
bron van user

stemmen
0

Het lijkt erop dat u probeert om toegang te krijgen tot veel meer indexen in reeks twee dan er beschikbaar zijn.

proberen:

for(var i=0; i<array1.length;i++){
  array1[i].push(array2[0]);
}
antwoordde op 29/05/2018 om 12:28
bron van user

stemmen
1

Als u probeert om twee arrays met gelijke lengte kaart, waar een object uit elke respectievelijke index positie om vervolgens worden samengevoegd kun je mapover een van de arrays en het gebruik spread syntax om ondiepe kopiëren en samenvoegen van de objecten. Deze aanpak zal helpen bijwerkingen te voorkomen als ofwel invoerarray moet ongewijzigd moeten worden gelaten.

De code zou zijn:

array1.map((obj, i) => ({...obj, image: array2[i]}));

En de een demo:

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

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


var array2 = ["image1"];

var combined = array1.map((obj, i) => ({...obj, image: array2[i]}));

console.log(combined);

antwoordde op 29/05/2018 om 12:56
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more