Парсинг массива и обработка данных в JS коде. Как пройти ошибку?
Вложений: 1
Как пройти ошибку?
Есть задача: удаление из массива всех строк что идут выше трёх подряд идущих строк в конце которых есть знаки препинания (знаки препинания определены в массиве [[SYMBOLS]] ) Есть JS код для этого (его я привёл в конце этой темы). Кодом обрабатываю этот массив текста но получаю ошибку: Код:
SyntaxError: Unexpected token Я in JSON at position 1 Сразу поясню 3 нюанса: 1) Многострочный список строк (массив) в моём интерпретаторе JS задаётся в виде оборачивания в [[]]. Для языка JS он является массивом (Массив - он же объект) Например, вот так выглядит массив [[1AA]] (см. скрин ниже) текст тут дан как пример, поэтому текст может быть любым: Вложение 4719 2) Вставить многострочный массив в JS код в таком виде (в виде строки) нельзя, так как тексты внутри [[1AA]] могут быть любые: Код:
let text = `Я видел огненные знаки 3)Нужно определять только так : Присваиваем переменной text массив [[1AA]] Код:
let text = [[1AA]]; В коде Яваскрипта сначала делаю распарс с помощью JSON.parse преобразуя массив [[1AA]] в строку вот так: let text = [[1AA]]; var qqq = JSON.parse("[" + text + "]"); let str = qqq.split(','); А тут собственно весь JS код : ) let text = [[1AA]]; var qqq = JSON.parse("[" + text + "]"); let str = qqq.split(','); const punct = [[SYMBOLS]]; const numStrWithPunctEnd = 3; const arr = str.split('\n'); const index = arr.findIndex(function(n, i, a) { return this.every(m => punct.includes(a[i + m].slice(-1))); }, [...Array(numStrWithPunctEnd).keys()]); const result = index !== -1 ? arr.slice(index).join('\n') : str; [[1AA]]=result; При обработке всего приведённого выше JSкода я получаю ошибку, как её пройти? |
mik888em,
можно только гадать, что у вас в переменных и зачем нужен JSON.parse. |
Часовой пояс GMT +3, время: 22:00. |