3

JavaScriptオブジェクトのクローン作成とコピーに関する多くの投稿、特に次の2つのトピックを調べました。

しかし、それは私にはうまくいかないようです。

ここに私が使用しているコードのスニペットがあります:

var copiedObject = {};

$.getJSON(URL, null, function (data) {
     copiedObject = jQuery.extend(true, {}, data);
});

console.log(JSON.stringify(copiedObject));

JSON 呼び出し内にコンソール ログ関数がある場合、適切な値が出力されますが、関数の後で空になり、出力されます{}

「Javascriptでオブジェクトをコピーする」投稿copiedObject = JSON.parse(JSON.stringify(data))の関数と同様に、を使用してみましたが、すべて役に立ちませんでした。clone(obj)

何か不足していますか?

4

1 に答える 1

8

$.getJSONデフォルトでは非同期で実行される Ajax リクエストを起動ます。リクエストが完了する前に発砲します。コンソール出力をコールバックに移動して修正します。console.log

$.getJSON(URL, null, function (data) {
     copiedObject = jQuery.extend(true, {}, data);
     console.log(JSON.stringify(copiedObject));
});
于 2012-10-26T15:40:12.397 に答える