@mik888em из вашего поста видно что вы пытаетесь пасить переменную представленную в формате JSON, а она ей не является.
upd Поставьте проверку на валидность json Или сами напишите проверочную функцию или проще есть кубик JSON там есть экшен проверки на валидность формата.
Почему не работает код?
-
Инструменты -> Выполнить код.
Вставляю код из интернета (взято отсюда https://habr.com/ru/company/ruvds/blog/458030/):const victorianSlang = [ term: 'doing the bear', found: true, popularity: 108, }, term: 'katterzem', found: false, popularity: null, }, term: 'bone shaker', found: true, popularity: 609, }, term: 'smothering a parrot', found: false, popularity: null, }, term: 'damfino', found: true, popularity: 232, }, term: 'rain napper', found: false, popularity: null, }, term: 'donkey’s breakfast', found: true, popularity: 787, }, term: 'rational costume', found: true, popularity: 513, }, term: 'mind the grease', found: true, popularity: 154, }, ]; let popularitySum = 0; let itemsFound = 0; const len = victorianSlang.length; let item = null; for (let i = 0; i < len; i++) { item = victorianSlang[i]; if (item.found) { popularitySum = item.popularity + popularitySum; itemsFound = itemsFound + 1; } const averagePopularity = popularitySum / itemsFound; console.log("Average popularity:", averagePopularity);Получаю ошибку: Поток №1 : SyntaxError: Parse error во время выполнения действия 266824162
Что я делаю не так? Где ошибка? -
@UserTrue said in Почему не работает код?:
@botovod В БАС старая версия javascript в нем нет const, let. console.log есть только в браузере и Node.js в БАС вместо нее надо использовать просто log
И у вас действительно с фигурными скобками беда
const работает, но вот let и всё что выше стандарта ECMA-262 не работает
const q = "hello" log(q) -
@Fox said in Почему не работает код?:
const работает, но вот let и всё что выше стандарта ECMA-262 не работает
Вообще const и let это из одной спецификации. Bas одним словом, логики не найдешь)
https://www.ecma-international.org/ecma-262/6.0/#sec-let-and-const-declarations
-
@UserTrue said in Почему не работает код?:
@Fox said in Почему не работает код?:
const работает, но вот let и всё что выше стандарта ECMA-262 не работает
Вообще const и let это из одной спецификации. Bas одним словом, логики не найдешь)
https://www.ecma-international.org/ecma-262/6.0/#sec-let-and-const-declarations
Ммм, не знал. Но я даже в веб интерфейсе использую var.. Хотя стоило бы уже переучиваться, кто знает, может все перейдут на TypeScript
-
Поправил код, сам код выполняю в блоке node.js. Но среднее значение не считается, вместо него пустое значение
"[853374032] [00:39:30] Поток №1 : Average popularity:"Исправленный код:
const victorianSlang = [ { term: 'doing the bear', found: true, popularity: 108, }, { term: 'katterzem', found: false, popularity: null, }, { term: 'bone shaker', found: true, popularity: 609, }, { term: 'smothering a parrot', found: false, popularity: null, }, { term: 'damfino', found: true, popularity: 232, }, { term: 'rain napper', found: false, popularity: null, }, { term: 'donkey’s breakfast', found: true, popularity: 787, }, { term: 'rational costume', found: true, popularity: 513, }, { term: 'mind the grease', found: true, popularity: 154, }, ]; let popularitySum = 0; let itemsFound = 0; const len = victorianSlang.length; let item = null; for (let i = 0; i < len; i++) { item = victorianSlang[i]; if (item.found) { popularitySum = item.popularity + popularitySum; itemsFound = itemsFound + 1; } }; const averagePopularity = popularitySum / itemsFound; console.log("Average popularity:", averagePopularity);