Основное упражнение Javascript [дубликат]

Это мой первый вопрос о Stack, поэтому, пожалуйста, извините меня, если я не буду спрашивать об этом правильно.

Я пытаюсь решить основное упражнение, которое просит меня создать функцию с именем countCharacters, которая принимает два параметра, символ и строку. Он должен возвращать количество символов, присутствующих в строке. Это то, что у меня есть до сих пор:

console.log(countCharacters('a', 'abbabaa'));

function countCharacters(char, string) {
    var regex = new RegExp('[^' + char + ']', 'g');
    return string.replace(regex,'').length;
}

Пожалуйста, дайте мне знать, где я ошибся. Я все еще изучаю базовый JavaScript, и я ценю любые отзывы!

javascript,javascript,

3

Ответов: 2


0

Самый простой способ, который вы можете придумать, - использовать цикл, который проверяет каждый символ и обновляет счетчик:

filter

Вы также можете использовать regex для удаления любого символа, который не является таковым, и вернуть новую длину:

console.log(countCharacters('a', 'abbabaa'));

function countCharacters(char, string) {
  return string.split('').filter(c => c===char).length;
}

... или использовать indexOf:

string.indexOf(char);

В вашем коде вы используете char, который возвращает позицию первого появления символа. Он не считает их.


-1

То, что вы делаете неправильно, заключается в том, что вы находите положение символа вместо количества раз, которое оно произошло в строке. Обратите внимание, что stringвы указали индекс (положение) вхождения charвашего string.

JavaScript, JavaScript,
Похожие вопросы