Witam. Szukam najskuteczniejszego sposobu na skopiowanie obiektu w javascript. Tworze grę w której cały tekst jest czytany z pliku json za pomocą ajaxa i chcę te dane przechować w obiekcie js. Użyłem funkcji Object.assign lecz nie działa to tak jakbym chciał.
Funkcja wczytująca z pliku język wygląda tak:
loadLanguage(lang) {
$.ajax({
url : 'lang/'+lang+'.json',
dataType : 'json',
type : 'post'
})
.done(function(res) {
Object.assign(language,res);
for(var prop in language) {
$(".ln_"+prop).html(language[prop]);
}
})
.fail(function() {
console.error( "Błąd wczytania języka");
});
}
A kopiuje to do obiektu:
var language = {};
Kiedy odczytuje sam obiekt w konsoli. nie ma problemu, pokazuje mi poprawnie cały obiekt w konsoli
gameManger.loadLanguage('Polish');
console.log(language);
//
Lecz gdy odwołam się do konkretnej wartości elementu otrzymuje undefined
gameManger.loadLanguage('Polish');
console.log(language.options);
Czy ktoś wie o co tu może chodzić? Albo zna jakiś lepszy sposób? Próbowałem jQuery.extend ale nic nie działało.