如何将每个对象插入密钥对值

时间:2017-11-24 03:41:57

标签: javascript

我有一个像这样的对象 在哪里我去掉了一些属性和价值。

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"
    }
}

2 个答案:

答案 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不存在。