JavaScript从另一个对象创建对象
我有一个对象如下:JavaScript从另一个对象创建对象,javascript,arrays,Javascript,Arrays,我有一个对象如下: const records = [ { city: "London", country: "UK" }, { city: "New York", country: "USA" } ]; 我需要从上面的对象创建另一个对象,如下所示,并具有其他属性: const metadata = [ { city: { value: &qu
const records = [
{
city: "London",
country: "UK"
},
{
city: "New York",
country: "USA"
}
];
我需要从上面的对象创建另一个对象,如下所示,并具有其他属性:
const metadata = [
{
city: {
value: "London",
trackChanges: true
},
country: {
value: "UK",
trackChanges: true
}
},
{
city: {
value: "New York",
trackChanges: false
},
country: {
value: "USA",
trackChanges: false
}
}
];
我感谢你的帮助
编辑1:
我尝试了下面的方法。但最后一个目标是:
records.map((record, i) => {
for (const [key, value] of Object.entries(record)) {
return {
[key]: {
value: value,
trackChanges: false
}
}
}
});
这可以使用Array.map方法实现,然后使用Object.keys在键上循环
const记录=[
{
城市:“伦敦”,
国家:“英国”
},
{
城市:“纽约”,
国家:“美国”
}
];
var results=records.map(rec=>{
var obj={};
Object.keys(rec.forEach)(key=>
obj[key]={value:rec[key],trackChanges:true}
)
返回obj;
})
控制台日志(结果)代码>请向我们展示您创建该对象的尝试。如果您不发布非工作代码,我们将无法帮助您。这是一个对象数组,您需要使用array.map()获取输出。请看一下文档。您的返回发生在第一次迭代中,并且永远不会完成循环。这可能是一个简单的解决方案,但在这里,对象键是动态的。因此无法创建实际对象。我试了好几个小时,谢谢你的帮助。但我的对象关键点是动态的。我不能直接把城市和城市联系起来country@kukuha,我已经更新了答案。谢谢你的帮助。