Софтуерно Инженерство
Loading...
StilianKushev avatar StilianKushev 2 Точки

08. Word Occurences 80/100 RunTime Error

Това ми е решението:

function solve(str,del){
      console.log(counter = str.toLowerCase().match(new RegExp(`\\b${del.toLowerCase()}\\b`,"g")).length);
}

От задачата се изисква да върнеш колко пъти дадена дума съществува в изречението.

Нещо бъркам. Мисля че проблема е в new RegExp()

Help :p

Тагове:
0
JavaScript Fundamentals
Quake3 avatar Quake3 547 Точки

Здравей,

Пробвай да печаташ, само ако има counter:

function solve(str,del){
   var counter = str.toLowerCase().match(new RegExp(`\\b${del.toLowerCase()}\\b`,"g"));
   console.log(counter ? counter.length:0);
}

 

1
06/06/2018 18:42:48
StilianKushev avatar StilianKushev 2 Точки

Да! Стана. Но не ми е ястна часта counter ? counter.length:0 :p .match() не би ли трябвало да върне празен масив с length = 0 ако нищо не е намерено?

0
06/06/2018 19:00:02
Quake3 avatar Quake3 547 Точки

Да, точно нулев ще е, но няма да е с дължина 0, защото не съществува.

По-горният код е равносилен на:
 

function solve(str,del){
   var counter = str.toLowerCase().match(new RegExp(`\\b${del.toLowerCase()}\\b`,"g"));
   if(counter != null){
      console.log(counter.length);
   }else{
      console.log(0);
   }
}

 

0
06/06/2018 20:07:05