Как найти определенное количество символов @?

Рейтинг: -2Ответов: 1Опубликовано: 27.01.2023

let str = 'aaa@bbb@c@@cc'

//Должно вывести 4

Ответы

▲ 2
'aaa@bbb@c@@cc'.match(/@/g).length
'aaa@bbb@c@@cc'.split('').filter(s => s === '@').length

const getNumberSymbolOccurrences = (str, find) => 
  str?.split('').filter(s => s === find).length ?? 0

// циклом

const getNumberSymbolOccurrences = (str, find) => {
  if (!str || !find) {
    return 0
  }

  let result = 0
  for (const s of str) {
    if (s === find) {
      result += 1
    }
  }

  return result
}

/* зависит от требований, но если такая функция используется в 
приложении, то
функция должна кидать исключение, если не передан какой либо из 
аргументов. Это делается для того что бы вызывающий код знал об 
ошибке и смог ее обработать.
  if (!str || !find) throw new Error('message')
/*