[英]merge 2 json in javascript
所以我有2個具有相同參數的json。 基於這一參數,我想將這兩個json合並為單個json。
json 1 = [{"serverid":65,"name":"Apple"},{"serverid":98,"name":"Mac"}]
json 2 = [{"serverid":98,"count":9},{"serverid":65,"count":2}]
resultant json = [{"serverid":65,"name":"Apple","count":2},{"serverid":98,"name":"Mac","count":9}]
您可以使用Object.assign()
const a = [{"serverid":65,"name":"Apple"},{"serverid":98,"name":"Mac"}];
const b = [{"serverid":65,"count":2},{"serverid":98,"count":9}];
const c = a.map((obj, index) => Object.assign(obj, b[index]));
了解有關Object.assign()的更多信息
const a = [{"serverid":65,"name":"Apple"},{"serverid":98,"name":"Mac"}]; const b = [{"serverid":65,"count":2},{"serverid":98,"count":9}]; const c = a.map((obj, index) => Object.assign(obj, b[index])); console.log(c)
一種干凈的方法是使用對象傳播運算符。 對象散布運算符在對象文字中所做的就是將所有舊值復制到新創建的對象中。
const json1 = [{"serverid": 65,"name": "Apple"},{"serverid":98,"name":"Mac"}] const json2 = [{"serverid":65,"count":2},{"serverid":98,"count":9}] const newArr = [] for (let i = 0; i < json1.length; i++) { const obj = { ...json1[i], ...json2[i] } newArr.push(obj); } console.log(newArr)
警告:
這是相對較新的ES7
語法,您必須轉換代碼(使用例如babel)才能具有完全的瀏覽器兼容性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.