亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

合并具有數組的javascript中的兩個對象

合并具有數組的javascript中的兩個對象

白豬掌柜的 2023-04-27 10:38:00
我有兩個對象 a 和 b。每個都有一個數組 results [],它進一步包含多個對象。我想將兩個對象的結果 [] 數組合并到第三個對象 c 中。我試過了var c = Object.assign(a,b),但我沒有得到結果??紤]以下示例以供參考。a = {results[{"boys": 50, "girls": 20, "red":10},{boys": 40, "girls": 10, "red":50},{boys": 30, "girls": 10, "red":50}]}b = {results[{boys": 20, "girls": 30},{boys": 50, "girls": 20},{boys": 70, "girls": 30}]}我正在尋找如下結果c = {results[{"boys": 50, "girls": 20, "red":10},{boys": 40, "girls": 10, "red":50},{boys": 30, "girls": 10, "red":50},{boys": 20, "girls": 30},{boys": 50, "girls": 20},{boys": 70, "girls": 30}]}請幫忙。提前致謝
查看完整描述

1 回答

?
慕慕森

TA貢獻1856條經驗 獲得超17個贊

在合并兩個數組之前,您需要擔心的第一件事是確保您的語法正確。

  1. 您的 JavaScript 對象不正確。:您的密鑰后需要一個冒號 ( ) "results"。

  2. 您缺少"boys"密鑰的開頭引號。

一旦您解決了這些問題,合并就像使用擴展語法在您的對象中創建一個新"results"數組一樣簡單c。

不幸的是,深度合并在 ES6 中不存在,因此以下內容將不起作用:

const c = { ...a, ...b }

相反,您需要合并對象的"results".

const a = {

  "results": [

    { "boys": 50, "girls": 20, "red": 10 },

    { "boys": 40, "girls": 10, "red": 50 },

    { "boys": 30, "girls": 10, "red": 50 }

  ]

}


const b = {

  "results": [

    { "boys": 20, "girls": 30 },

    { "boys": 50, "girls": 20 },

    { "boys": 70, "girls": 30 }

  ]

}


const c = { "results": [ ...a.results, ...b.results ] }


console.log(c);

.as-console-wrapper { top: 0; max-height: 100% !important; }


查看完整回答
反對 回復 2023-04-27
  • 1 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號