Код: Выделить всё
if (localStorage.balances == undefined) {
localStorage.setItem('balances', '{"ffdbddfaae": "0"}') // initialize balance so JSON doesn't error out
}
let balances = JSON.parse(localStorage.balances) // convert string to JSON object for further changes
let addToBalance = function(value, id) {
if (id.replace(/[0-9]/g, '') in balances) { // convert alphaumerical id string to only letters to not cause errors when using balances.(id) and check if id exists in balance object
Object.defineProperty(balances, id.replace(/[0-9]/g, ''), {
value: parseInt(balances[id]) + value // add value to balance
})
localStorage.setItem("balances", JSON.stringify(balances))
} else {
Object.defineProperty(balances, id.replace(/[0-9]/g, ''), {
value: value
})
localStorage.setItem("balances", JSON.stringify(balances))
}
}
addToBalance(100, "ffdbddfaae")
addToBalance(69, "foobarid")
< /code>
Код должен работать в теории, но это не так.
Вот как я проанализировал код. < /p>
[list]
[*] Попробуйте изолированный код в изолированной среде < /li>
Проверьте локальный storage.balances < /code> < /li>
< /br /> < /br /> < /br /> < /br /> . Проблема
[/list]
Таким образом, при рассечении этой проблемы я обнаружил, что, когда json.stringify () Подробнее здесь: https://stackoverflow.com/questions/795 ... gify-issue