Pushが配列で行うことのように、既存のオブジェクトに新しい要素を追加する方法を探していました
私はこれを試しましたが、うまくいきませんでした:
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 extend method を探しています。これにより、作成済みの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"}]
_
この回答は、同様の結果をエミュレートしたいユーザーに役立つかもしれません。