Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проверка строки (https://javascript.ru/forum/misc/84979-proverka-stroki.html)

Tri 22.02.2023 17:47

Проверка строки
 
Здраствуйте

Нужно сделать проверку строки, чтобы всё возвращалась

Пробовал вот так, но что то не то намудрил

let counter = 0;

    while (counter <= str.length) {

        if (   ) {
            counter = counter + 1;
            return counter;
        }
        else {

        }


Прошу помочь с написанием кода

// Функция принимает на вход строку и символ
// и возвращает количество символов в строке
// Поиск должен работать в любом регистре
// Примеры:
// getCharCount("строка", "с") => 1
// getCharCount("Строка", "с") => 1
// getCharCount("строка", "А") => 1
// getCharCount("строка", "ф") => 0

function getCharCount(str, char) {
  
}

export default getCharCount;


import getCharCount from "./index";

it("Проверка 1", () => {
  expect(getCharCount("строка", "с")).toBe(1);
});

it("Проверка 2", () => {
  expect(getCharCount("строка", "ы")).toBe(0);
});

it("Проверка 3", () => {
  expect(getCharCount("гиппопотомомонстросесквиппедалиофобия", "п")).toBe(5);
});

it("Проверка 4", () => {
  expect(getCharCount("ААААаааа", "а")).toBe(8);
});

it("Проверка 5", () => {
  expect(getCharCount("ААААаааа", "А")).toBe(8);
});

рони 22.02.2023 17:54

Tri,
else лишнее, return после while

рони 22.02.2023 18:04

Tri,
function getCharCount(str, char) {
            let counter = 0;
            str = str.toLowerCase();
            char = char.toLowerCase();

            for (let letter of str) counter += letter == char
            return counter
        }
        alert(getCharCount("ААААаааа", "а"));
        alert(getCharCount("строка", "с"));
        alert(getCharCount("строка", "ы"));

рони 22.02.2023 18:09

Цитата:

Сообщение от рони
else лишнее, return после while

function getCharCount(str, char) {
            let counter = 0, i = 0, len = str.length;
            str = str.toLowerCase();
            char = char.toLowerCase();
            while (i < len) if(str.charAt(i++) == char) counter++;
            return counter
        }
        alert(getCharCount("ААААаааа", "а"));
        alert(getCharCount("строка", "с"));
        alert(getCharCount("строка", "ы"));

ksa 23.02.2023 15:53

Подкину еще такой вариант...

function getCharCount(str, char) {
	let counter = 0, i = -1;
	str = str.toLowerCase();
	char = char.toLowerCase();
	while (i = str.indexOf(char, i + 1), i > -1) counter++;
	return counter
}
alert(getCharCount("ААААаааа", "а"));
alert(getCharCount("строка", "с"));
alert(getCharCount("строка", "ы"));

Tri 27.02.2023 14:46

Спасибо огромоное!


Часовой пояс GMT +3, время: 21:34.