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)
要将一个对象的所有元素复制到另一个对象,请使用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)
您可以像这样添加对象的一些属性:
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)
您可以使用 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)