как вставить один элемент в массив с 15 объектами - PullRequest
0 голосов
/ 29 мая 2018
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]

Я получаю array2 изображения из другого запроса, поэтому я присвоил array2.Теперь я хотел добавить или добавить array2 в array1.Поэтому я создал объект

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

и попытался нажать

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

, но он не сработал.

Ответы [ 3 ]

0 голосов
/ 29 мая 2018

Похоже, вы пытаетесь получить доступ к большему количеству индексов во втором массиве, чем доступно.

try:

for(var i=0; i<array1.length;i++){
  array1[i].push(array2[0]);
}
0 голосов
/ 29 мая 2018

Если вы пытаетесь отобразить два массива одинаковой длины, где объект из каждой соответствующей позиции индекса должен быть объединен, тогда вы можете map над одним из массивов и использовать синтаксис расширения для поверхностного копирования и объединения объектов.Этот подход поможет предотвратить побочные эффекты, если любой входной массив необходимо оставить неизменным.

Код будет:

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

И демо:

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"];

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

console.log(combined);
0 голосов
/ 29 мая 2018

array1[i]['image'] = image1; или array1[i].image = image1;

Вам необходимо добавить объект изображения к значению array1, используя методы доступа к свойствам.

DEMO

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"
 }]
}]

for (var i = 0; i < array1.length; i++) {
 array1[i]['image'] = 'image1';
}
console.log(array1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...