Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

134
Views
¿Cómo puedo conservar las referencias de la matriz al cargar una matriz similar pero nueva?

He estado jugueteando con javascript para hacer un juego, y al intentar crear un mecanismo de guardar/cargar, me encontré con algunos problemas.

Esto podría provenir de cómo se configura el juego, pero principalmente voy a describir los datos del juego que se guardan y cargan en un ejemplo abstracto.

 let farm = { amount: 0 } let hut = { amount: 0 } let gameData = { buildingArray: [farm, hut] } function saveGame() { let saveData = gameData localStorage.setItem(localStorageName, JSON.stringify(saveData)) console.log("Data Saved") } function loadGame() { if (localStorage.getItem(localStorageName)) { loadData = JSON.parse(localStorage.getItem(localStorageName)) gameData = loadData console.log("Data Loaded") } }

Para guardar y cargar esto, simplemente registro el JSON de gameData en el almacenamiento local y luego lo analizo para cargarlo.

El principal problema que tengo con esto es cuando se carga gameData, por ejemplo, con granjas y cabañas de cantidad 1. El objeto gameData reflejará esto, pero los objetos individuales de granja y cabaña seguirán mostrando una cantidad de 0.

En mi proyecto, declaro todas estas variables por separado y luego las asocio juntas en gameData para facilitar la lectura, y tal vez esa implementación sea imprudente, por lo que si hay una manera de solucionar este problema y reorganizar, también sería apreciada.

La razón por la que esto me confunde es porque hasta que se cargue el juego, estos objetos a los que se hace referencia se actualizarán si, por ejemplo, se compra una granja. Después de cargar, parece que las referencias almacenadas en la matriz están desacopladas y me preguntaba: ¿hay alguna forma de solucionar esto?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

En su función loadData, podría agregar una asignación a farm y hut para que se sincronicen con los datos cargados:

 gameData = loadData; [farm, hut] = gameData.buildingArray; // <--- add this

Sin embargo, le sugiero que use un enfoque más OOP, evitando tales variables globales:

 class Game { static localStorageName = "myGame"; constructor() { this.farm = 0; this.hut = 0; } save() { localStorage.setItem(Game.localStorageName, JSON.stringify(this)) console.log("Data Saved"); } load() { let loadData = localStorage.getItem(Game.localStorageName); if (loadData) { Object.assign(this, JSON.parse(loadData)); console.log("Data Loaded") } else { console.log("No data to load") } } } // Example run let game = new Game(); game.hut++; game.save(); game.hut = 0; game.load(); console.log(game.hut); // 1
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!