如何将对象的元素推入另一个对象?

Ran*_*lah 7 javascript push object

就像在数组中一样,我们可以使用数组添加新元素.push(item).怎么做同样的objects?它可以在对象内部完成吗?喜欢:

var myObject={apple: "a", orange: "o"};
var anothObject = {lemon: "l", myObject};
Run Code Online (Sandbox Code Playgroud)

xor*_*xor 8

要将一个对象的所有元素复制到另一个对象,请使用Object.assign

var myObject = { apple: "a", orange: "o" };
var anothObject = Object.assign( { lemon: "l" }, myObject );
Run Code Online (Sandbox Code Playgroud)

或者,使用扩展...运算符更优雅的 ES6 风格:

let myObject = { apple: "a", orange: "o" };
let anothObject = { lemon: "l", ...myObject };
Run Code Online (Sandbox Code Playgroud)


vjd*_*ama 5

您可以像这样添加对象的一些属性:

obj = {a : "1", b : "2"};

myObj = {c: "3", d : "4"};
myObj.a = obj.a;
myObj.b = obj.b;
Run Code Online (Sandbox Code Playgroud)

更新

在这种情况下,只需执行以下操作:

for(var prop in obj) myObj[prop] = obj[prop];
Run Code Online (Sandbox Code Playgroud)

为了滤除循环体内的多余属性,您还可以执行以下操作:

for (var prop in obj) {
    if (obj.hasOwnProperty(prop)) {
        myObj[prop] = obj[prop];
    }
}
Run Code Online (Sandbox Code Playgroud)


Jon*_*ink 3

您可以使用 jQuery 的扩展功能:http://api.jquery.com/jquery.extend/

var object1 = {
  apple: 0,
  banana: { weight: 52, price: 100 },
  cherry: 97
};
var object2 = {
  banana: { price: 200 },
  durian: 100
};

// Merge object2 into object1
$.extend( object1, object2 );
Run Code Online (Sandbox Code Playgroud)