私はいくつかの Javascript プロトタイプを持っています。最初は、インスタンスには ID のみが入力され、他のデータの一般的なプレースホルダー情報がいくつかあります。次に、ID とオブジェクト タイプ (jQuery の AJAX 関数を使用) を含むメッセージをサーバーに送信すると、サーバーは不足しているすべての情報 (ただし ID はありません) を含む JSON オブジェクトを返します。返されたオブジェクトの変数の名前は、既存のオブジェクトの変数とまったく同じです。
これを既存の空のオブジェクトに転送する最も簡単な方法は何ですか? 私はいくつかの代替案を思いつきました
- 返されたオブジェクトと等しいオブジェクトを設定し、id をコピーします (プロトタイプ関数を失いますか?)
- 同一の構造を持つオブジェクトを取得してデータをコピーする各オブジェクトの関数を作成します
- JSON オブジェクトのキーと値のペアをループして既存のオブジェクトにコピーします
3 番目のオプションを使用する場合、これは正しい方法ですか? :
for (var key in json) {
if (object.hasOwnProperty(key)) {
object[key] = json[key];
}
}
json
が返されたオブジェクトでobject
あり、既存のオブジェクトであると仮定します。