Професионална програма
Loading...
Milko123 avatar Milko123 14 Точки

DOM-Lab, Problem 04 - Visited Sites, JS

Здравейте,

на задача https://judge.softuni.bg/Contests/Practice/Index/1801#3 с решение https://pastebin.com/DAtUKGUZ, моля някой да ми обясни каква функция имат командите на ред 10-11. Другия ми въпрос е относно регулярния израз на ред 13. Ако правилно разбирам той трябва да отдели всички букви и да ги замести с ' ' , но написан с ^ това не значи ли само в началото на изречението ". Имам предвид, че в случай на текст "visited 6 times", очаквам крайния резултат от replace да е "6 times" (изглежа греша, защото решението е работещо)?

Тагове:
1
JavaScript Fundamentals 13/09/2020 10:08:07
willystyle avatar willystyle 2268 Точки
Best Answer

ред 10 добавя евент лисънър за клик към съответния линк

ред 11 предпазва при клик да не редиректне линка към href от <a> но в случая са сложени href="#" и това е излишно (може да се махне без да чупи)

относно регекса e точно така, ще премахне всички букви от началото до първата срещната цифра:

"visited 1 times" ще го направи на "1 times"

използва тънкостта, че после парсва стинга с parseInt което взима цифри от стринга до където може и ги парсва, ако се ползваше Number или + щеше да връща NaN.
Така, че като значеш, че в стригна няма други значещи цифри, спокойно можеш да махнеш чавката, т.е. и с регекс 
.replace(/\D+/g, '') пак ще работи, даже вече може да се ползва Number за парс.

3