![](/img/trans.png)
[英]how to combine two different array of objects into one new array of object in javascript?
[英]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.