Deleted
Не совсем понял
overlaps.reverse() for (const [start, end] of overlaps) { const before = text.substring(0, start) const segment = text.substring(start, end) const after = text.substring(end) const newSegment = '<span style="color: #ff0000">' + segment + '</span>' text = before + newSegment + after } const replacement = document.createElement('span') replacement.innerHTML = text node.parentNode.replaceChild(replacement, node) вот тут мы довольно неэффективно режем и склеиваем строки чтобы получить HTML, а потом скармливаем его парсеру
Deleted
парсить HTML это наименее эффективная операция
Deleted
так как у нас есть массив overlaps
Deleted
мы знаем участки текста которые надо выделить
Deleted
если мы дополним этот массив информацией о тех участках которые не надо выделять
Deleted
то мы можем просто порезать строку на подстроки
Deleted
у вручную сделать append в DOM
Deleted
избегая парсинга
Maksym
Звучит логично
Deleted
грубо говоря если имеем сегмент в 10 символов то из массив пересечений, наприример [ [2, 6] ] надо получить [ [0, 2], [2, 6], [6, 10], ]
Deleted
дополненный массив всек кусков текста
Anonymous
2-6 - это Html тег?
Maksym
Звучит логично, но в тоже время очень не просто
Deleted
дальше ‘__1234____’ -> режем [ ‘__’, ‘1234’, ‘____’ ] -> превращаем в элемент [ TextNode, SpanElement, TextNode ] -> цикл вставки в DOM
Deleted
2-6 - это Html тег?
2-6 это гипотетическое место в котором регулярка нашла нужный текст
Maksym
2 стартовый индекс искомого значения, 6 последний индекс (тобиш стартовый плюс длинна)
Deleted
Сам я вряд ли смогу такое дописать (
Напиши мне после праздников
dima
Парни если не секрет чё вы такое пилите? Может и себе на досуге поковыряю
Deleted
Поиграйся с первой переменной
Deleted
Поиск и подсветка текста с помощью регулярного выражения по HTML DOM’у
dima
О прикольно!
Deleted
Сам я вряд ли смогу такое дописать (
а еще для ускорения поиска можно заренее вычислить для ячеек массив hints
Dmitriy
нужен онайн tool который объединяет одинаковые свойства в классах css. поделитесь ссылками
Anonymous
Всех с наступающим, подскажите, почему из рекурсивной функции возвращается undefined, хотя в ней всё нормально? https://codepen.io/anon/pen/PXOOXo?editors=0012
Eugene
в ином случае функция ничего не возвращает, поэтому undefined
Anonymous
Так мне нужен именно этот случай
Anonymous
И он случается, ведь console.log работает
Anonymous
как мне вернуть в переменную из рекурсии этот случай/
Eugene
что то с вложенностями напутал, верняк - продебажь на кажном уровне
Eugene
с телефона тоже не варик
Eugene
function search (obj, value){ for (let key in obj) { if (typeof obj[key] === 'object') return search (obj[key], value); else { if (obj[key] == value) { console.log(key + ' => ' + obj[key]); return obj; } } } };
Eugene
return перед search
Eugene
так работает
Anonymous
Боже, точно, я вроде пробовал добавлять return сюда, но может ошибся или планировал только) Спасибо
Anonymous
Боже, точно, я вроде пробовал добавлять return сюда, но может ошибся или планировал только) Спасибо
function search(obj, value) { for(let key in obj) { if ( typeof obj[key] === "object" ) { const result = search(obj[key], value); if ( result !== undefined ) { return result; } continue; } if (obj[key] == value) { console.log(key + ' => ' + obj[key]); return obj; } } return undefined; }; var object = { test: 1, test2: 2, test3: { result: 'Найти это' } }; console.log(search(object, 'Найти это'));
Anonymous
[v
Anonymous
хм
Anonymous
может весь список находить?
Anonymous
Ваш вариант идеально работает, я к своему массивы попробовал добавить в объекте по которому шел поиск и всё ломалось, а тут работает
Anonymous
function searchEx(obj, value, strict = true) { let array = []; const keys = Reflect.ownKeys(obj); for(const key of keys) { const val = obj[key]; if ( val instanceof Object ) { array = [].concat(array, searchEx(val, value, strict)); continue; } if ( (strict && (val === value)) || (!strict && (val === value)) ) { array.push({obj, key}); } } return array; } var object = { test: 1, test2: 2, test3: { result: 'Найти это' }, test4: { test5: { arr: ['Найти это'] } }, test9: 'Найти это', }; console.log( searchEx(object, 'Найти это') );
Anonymous
возможны ошибки
Roman
кто знает, как в бабель 7 сделать разные конфиги для разных под-папок, если используется babel.config.js?
Max
добрый день я начинающий программист и я имею такой вопрос у меня есть alert и я имею "i", которое является числом и я хочу, чтобы оно выводилось на единичку больше как это сделать?
Max
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>homework</title> </head> <body> <script> var password = "qwerty"; var arrayOfTry = []; for ( i = 3 ; i >= 0 ; i-- ) { arrayOfTry [i] = prompt("Введіть пароль!",); if ( password == arrayOfTry [i] ) { alert("Запрошуємо на сайт!"); i = -1; } else { alert("Попробуйте ще раз. У вас залишилася " + i + " спроба" ); } if ( (i == 0) && ( password != arrayOfTry [i] )) { alert("Будь ласка спробуйте пізніше!"); } } </script> </body> </html>
Alexander
Комбо
Max
??☺
Max
Сенк тупанул
Anonymous
Deleted
Dmitriy
https://gyazo.com/fa5830d83967dfc5680cef10195ab478
Dmitriy
в чем может быть проблема?
Dmitriy
вот так выглядит код https://gyazo.com/6ce70a3d72e6d91e29e90eb6c33171f7
Anonymous
NVCE
​​Всех с новым годом!
Ramziddin
​​Всех с новым годом!
С новым годом! 🔥🥳
Dzhanik
Dzhanik
С новым годом друзья!!
Идрис
Anonymous
давайте не чокаясь
Илья
</2018>
hamper 𓅝
</2018>
Тогда уж открывай 2019. ))
Илья
<2019> открыт !)
Dzhanik
Желаю всем в 2019 году увеличить свой скил в плане программирования, а остальное подтянется ;)
Илья
А я желаю не перегорать и планомерно распределять свои силы.
hamper 𓅝
<2019> открыт !)
Главное что бы от незакрытого тега рендеринг мира не сломался.
Rin
В конце года закроет
Илья
Рендер в течении года происходит )
SSG
Anonymous
Anonymous
Аlexander
йоу камон всех с новым годом! чекните плиз мой первый ютуб видосик о том как я запили свою первую игру https://www.youtube.com/watch?v=0HvAaDUot0M
Anonymous
https://picross.io/ не открывается
Anonymous
у меня