簡體   English   中英

在 JavaScript 中使用兩個不同的 object 創建一個新的數組對象

[英]Make a new array objects using two different object in JavaScript

我有兩個對象。 我正在嘗試這樣做:

var obj1 = {
 abc_name: "Jack", 
 abc_age: 24
}

var obj2 = {
 xyz_name: "Mike", 
 xyz_age: 22
}

預計 Output 如下:

var obj = [{
 fieldName: "Name", 
 abc_name: "Jack", 
 xyz_name: "Mike"
}, 
{
 fieldName: "Age", 
 abc_age: 24, 
 xyz_age: 22
}]

我正在嘗試使用嵌套的 for-in 循環。 但沒有得到預期的結果。 有更好的解決方案或想法嗎? 提前致謝

實現此目的的一種方法是Array.prototype.map

 const obj1 = { abc_name: "Jack", abc_age: 24 } const obj2 = { xyz_name: "Mike", xyz_age: 22 } const obj = Object.entries(obj1).map(([k, v]) => { const [prefix1, fieldname1] = k.split('_'); const [prefix2] = Object.keys(obj2)[0].split('_'); return { fieldname: fieldname1[0].toUpperCase() + fieldname1.substring(1), [k]: v, [prefix2 + '_' + fieldname1]: obj2[prefix2 + '_' + fieldname1] } }); console.log(obj);

 var obj1 = { abc_name: "Jack", abc_age: 24 } var obj2 = { xyz_name: "Mike", xyz_age: 22 } let obj = [{ fieldName: "Name" }, { fieldName: "Age" }] Object.entries(obj1).forEach((property, index) => { obj[index][property[0]] = property[1] }) Object.entries(obj2).forEach((property, index) => { obj[index][property[0]] = property[1] }) console.log(obj)

暫無
暫無

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

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