繁体   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