我有一个像这样的对象 在哪里我去掉了一些属性和价值。
var obj = {
"country" : "USA",
"CApital" : "WDC",
"President" : "Trump"
}
现在我以这种方式添加,我创建了一个id,在那个id中我想添加我的对象属性和值。
var myId = obj.President;
this.newObj[myId] = {};
Object.each(obj, function(key, value) {
this.newObj[myId][key] = value;
});
我的输出应该是
obj :{
Trump :{
"country" : "USA",
"CApital" : "WDC",
"President" : "Trump"
}
}
答案 0 :(得分:2)
没有Object.each这样的东西。
最简单的方法是使用Object.assign()
将原始对象的副本合并到新对象
let obj = {
"country" : "USA",
"CApital" : "WDC",
"President" : "Trump"
}
let newObj= {[obj.President] : Object.assign({}, obj)}
console.log(newObj)

答案 1 :(得分:1)
我知道你想要创建一个属性值等于源对象标识符评估的新对象,并在该属性内部转到初始对象。像这样:
const obj = {
country: 'usa',
capital: 'dc',
president: 'trump'
};
function myPropAndObjectValues(obj, prop) {
return {
[obj[prop]]: {...obj}
};
}
console.log(myPropAndObjectValues(obj, 'president'));

的Pd。 Object.each
不存在。