JS Fundamentals Exam - 10 June 2018 задача 2.Travel Investigation - Проблем с последния тест
Здравейте!
Нещо ми убягва в задачата Travel Investigation, не ми минава последният тест.
Линк към моето решение - https://pastebin.com/BqnZRYjB
Здравейте!
Нещо ми убягва в задачата Travel Investigation, не ми минава последният тест.
Линк към моето решение - https://pastebin.com/BqnZRYjB
Здравей,
работата е дребна, но има сериозен извод. Когато създаваш регекс от вход отвън, трябва да го ескейпнеш от специални символи. Понеже JS няма вградена функция, може да ползваш най-ползваната от stackoverflow:
function escapeRegExp(string) {
return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
}
Друг по-прост вариант е да не проверяваш чрез регекс мач, ами чрез indexOf().
Явно в последня тест, в името на някоя от компаниите има специален символ.
https://pastebin.com/WfWmQjAD
Здравей,
регулярните изрази никога не са били силата, затова и не мога да ти обясня какъв е проблема с regex, може да е нещо свързано с case sensitive...
Смених:
if (!regex.test(sentence)) {
с
if (!sentence.includes(currentCompany)) {
и стана 100%. Четох, че търсене с includes е и по-бързо.
П.С. Сега видях, че willystyle е обяснил перфектно какъв е проблемът
Благодаря!