hearManager.hear('/test', async (context) => {
var buffer = fs.readFileSync("result.json", "utf-8");
json = JSON.parse(buffer)
while(Object.keys(json).length > 1){
names = Object.keys(json);
lessons = []
for(let i = 0; i<names.length; i++){
lessons[i] = (i+1).toString() +". "+names[i];
}
context.send(lessons.join("\n"));
const answer = await context.question("Выберите (от 1 до " + lessons.length.toString() + ")");
json = json[names[Number(answer.text)-1]]
if (JSON.stringify(json).includes("{") == false && JSON.stringify(json).includes("https") == true) break;
}
context.send(JSON.stringify(json))
});
Есть такой код, который работает до получения финального значения из JSON. Сам файл выглядит примерно вот так:
{
"Гдз по Математике": {
"1": {
"ГДЗ Математика 1 класс М.И. Моро Просвещение 2016": {
"Часть 1": {
"Страница 4": {
"1": "https://gdz.ru/class-1/matematika/moro-m-i-2011/1-4-1/",
"2": "https://gdz.ru/class-1/matematika/moro-m-i-2011/1-4-2/",
"3": "https://gdz.ru/class-1/matematika/moro-m-i-2011/1-4-3/"
},
...
И я ищу более этичный способ по поиску значения, чтобы убрать костыль:
if (JSON.stringify(json).includes("{") == false && JSON.stringify(json).includes("https") == true) break;
Т.к. когда он доходит до ссылки, он начинает её разбивать по буквам и также хотелось бы чтобы в итоге он получал значение не в форме "ссылка"
, а просто текст ссылка
без двойных кавычек.
Нужно сделать меню(ul>li*5) в js без html, изначально body в файле indexhtml должен быть пустой, все необходимые элементы генерируются с использованием...
Как определить тот факт, что в <input type="number"> уже введён символ запятой или точкиДля чего это нужно: в FireFox неприятная особенность, в подобный...
Дано натуральное числоЕсли в нем есть цифры а и b, то определить, какая из них расположена в числе правее