[英]Add new element to an existing object
我一直在尋找一種方法來向現有對象添加新元素,就像推送數組一樣
我試過這個並沒有用:
var myFunction = {
Author: 'my name ',
date: '15-12-2012',
doSomething: function(){
alert("helloworld")
}
};
myFunction.push({
bookName:'mybook',
bookdesc: 'new'
});
console.log(myFunction);
用這個:
myFunction.bookName = 'mybook';
myFunction.bookdesc = 'new';
或者,如果您使用jQuery:
$(myFunction).extend({
bookName:'mybook',
bookdesc: 'new'
});
push
方法是錯誤的,因為它屬於Array.prototype
對象。
要創建命名對象,請嘗試以下操作:
var myObj = function(){
this.property = 'foo';
this.bar = function(){
}
}
myObj.prototype.objProp = true;
var newObj = new myObj();
只需執行myFunction.foo = "bar"
添加它。 myFunction
是這種情況下對象的名稱。
Danilo Valente上面提到的jQuery語法不起作用。 它應該如下 -
$.extend(myFunction,{
bookName:'mybook',
bookdesc: 'new'
});
您可以使用Extend將新對象添加到現有對象。
您正在尋找jQuery擴展方法 。 這將允許您將其他成員添加到已創建的JS對象中。
您可以將JSON存儲在數組中,然后使用push
將JSON數據插入到數組中
看看這個https://jsfiddle.net/cx2rk40e/2/
$(document).ready(function(){
// using jQuery just to load function but will work without library.
$( "button" ).on( "click", go );
// Array of JSON we will append too.
var jsonTest = [{
"colour": "blue",
"link": "http1"
}]
// Appends JSON to array with push. Then displays the data in alert.
function go() {
jsonTest.push({"colour":"red", "link":"http2"});
alert(JSON.stringify(jsonTest));
}
});
JSON.stringify(jsonTest)
結果
[{"colour":"blue","link":"http1"},{"colour":"red","link":"http2"}]
這個答案可能對希望模仿類似結果的用戶有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.