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
Anonymous
2-6 - это Html тег?
Maksym
Звучит логично, но в тоже время очень не просто
Deleted
дальше
‘__1234____’
-> режем
[
‘__’,
‘1234’,
‘____’
]
-> превращаем в элемент
[
TextNode,
SpanElement,
TextNode
]
->
цикл вставки в DOM
Deleted
2-6 - это Html тег?
2-6 это гипотетическое место в котором регулярка нашла нужный текст
Maksym
2 стартовый индекс искомого значения, 6 последний индекс (тобиш стартовый плюс длинна)
Maksym
Deleted
dima
Парни если не секрет чё вы такое пилите? Может и себе на досуге поковыряю
Deleted
Deleted
Поиграйся с первой переменной
Deleted
Поиск и подсветка текста с помощью регулярного выражения по HTML DOM’у
dima
О прикольно!
Dmitriy
нужен онайн tool который объединяет одинаковые свойства в классах css. поделитесь ссылками
Anonymous
Всех с наступающим, подскажите, почему из рекурсивной функции возвращается undefined, хотя в ней всё нормально?
https://codepen.io/anon/pen/PXOOXo?editors=0012
Eugene
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
??☺
Roman
Max
Сенк тупанул
Anonymous
Deleted
Dmitriy
https://gyazo.com/fa5830d83967dfc5680cef10195ab478
Dmitriy
в чем может быть проблема?
Dmitriy
вот так выглядит код https://gyazo.com/6ce70a3d72e6d91e29e90eb6c33171f7
Anonymous
NVCE
Всех с новым годом!
Ramziddin
Dzhanik
Dzhanik
С новым годом друзья!!
Идрис
Anonymous
давайте не чокаясь
Илья
</2018>
Илья
<2019> открыт !)
Dzhanik
Желаю всем в 2019 году увеличить свой скил в плане программирования, а остальное подтянется ;)
Илья
А я желаю не перегорать и планомерно распределять свои силы.
Rin
В конце года закроет
Илья
Рендер в течении года происходит )
SSG
Anonymous
Anonymous
Аlexander
йоу камон всех с новым годом! чекните плиз мой первый ютуб видосик о том как я запили свою первую игру https://www.youtube.com/watch?v=0HvAaDUot0M
Anonymous
Anonymous
Anonymous
https://picross.io/ не открывается
Anonymous
у меня