Неизвестный json.stringify проблема [дублировать]Javascript

Форум по Javascript
Ответить
Anonymous
 Неизвестный json.stringify проблема [дублировать]

Сообщение Anonymous »

Я писал чат-бот для сайта, и работаю над командой, которая дает (не существующую, фальшивую) валюту для бота, чтобы купить забавные элементы, и я использую объекты LocalStorage и JSON для этого.

Код: Выделить всё

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 () 
infable balances переменная (не путать с localstorage.balances ), вместо того, чтобы быть '{"ffdbddfaae. '{"ffdbddfaae": 0}' , aka первое значение, которое LocalStorage.balance была установлена, так что, на практике, LocalStorage.Balance изменился на свою собственную ценность, не создавая никаких эффектов.>

Подробнее здесь: https://stackoverflow.com/questions/795 ... gify-issue
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»