簡體   English   中英

如何將一項推入包含15個對象的數組

[英]how to push one item into array with 15 objects

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]);
}

但這沒用。

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

您需要使用屬性訪問器將圖像對象添加到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" }] }] for (var i = 0; i < array1.length; i++) { array1[i]['image'] = 'image1'; } console.log(array1) 

如果要映射兩個長度相等的數組,其中每個索引位置的對象都將被合並,則可以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); 

似乎您正在嘗試訪問數組2中比可用索引更多的索引。

嘗試:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM