Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.06.2022, 15:13
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

Найти количество вхождений подстроки в строку
На выходе хочу получить:

console.log(countOccurrences('abefhiefj', 'ef'));
// 2

Мой код:

const countOccurrences = (text, str) => {
    if (str === '') { return null; }

    let counter = 0;

    for (let char of text) {
        if (char === str) {
            counter++;
        }
    }

    return counter;
};


Но он работает если вторым параметром будет только один символ, например:

console.log(countOccurrences('abefhiefj', 'e'));


Но что добавить в коде чтобы искало кол-во вхождений в переданном параметре с более чем в один символ?
Ответить с цитированием
  #2 (permalink)  
Старый 03.06.2022, 15:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

NovichokJS,
разрежьте строку по образцу и верните длину массива.
Ответить с цитированием
  #3 (permalink)  
Старый 03.06.2022, 15:25
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

Сообщение от рони Посмотреть сообщение
NovichokJS,
разрежьте строку по образцу и верните длину массива.
а что вы имеете ввиду "по образцу"?
Ответить с цитированием
  #4 (permalink)  
Старый 03.06.2022, 15:25
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

во втором передаваемом параметре функции может быть и больше чем 2 символа
Ответить с цитированием
  #5 (permalink)  
Старый 03.06.2022, 15:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

NovichokJS,
const countOccurrences = (text, str) => {
    let {length} = text.split(str);
    return --length;
};
console.log(countOccurrences('abefhiefj', 'ef'));
Ответить с цитированием
  #6 (permalink)  
Старый 03.06.2022, 15:35
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

Сообщение от рони Посмотреть сообщение
NovichokJS,
const countOccurrences = (text, str) => {
    let {length} = text.split(str);
    return --length;
};
console.log(countOccurrences('abefhiefj', 'ef'));
интересное решение. А объясните пожста, что происходит в выражении let {length}
Ответить с цитированием
  #7 (permalink)  
Старый 03.06.2022, 15:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Сообщение от NovichokJS
, что происходит в выражении let {length}
тоже самое что тут
let length = text.split(str).length;
Ответить с цитированием
  #8 (permalink)  
Старый 03.06.2022, 15:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

NovichokJS,
Деструктурирующее присваивание
Ответить с цитированием
  #9 (permalink)  
Старый 03.06.2022, 15:42
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

Сообщение от рони Посмотреть сообщение
NovichokJS,
const countOccurrences = (text, str) => {
    let {length} = text.split(str);
    return --length;
};
console.log(countOccurrences('abefhiefj', 'ef'));
Сообщение от рони Посмотреть сообщение
NovichokJS,
Деструктурирующее присваивание
круто, понял. Получается что задачу решили как бы от обратного
Ответить с цитированием
  #10 (permalink)  
Старый 04.06.2022, 04:05
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

И тут пришел поручик, и все опошлил
countOccurrences('ababa', 'aba'));// ???
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Просмотрела исходик jQuery Откорректируйте где не верно taksebe jQuery 5 23.11.2018 22:42
Найти количество элементов списка jeysmook jQuery 15 18.07.2014 16:50
Найти все вхождения подстроки, с помощью indexOf в цикле for? dima*** Общие вопросы Javascript 3 18.02.2014 14:04
Найти все подстроки в строке BorisBritva jQuery 2 11.04.2013 22:47
Как найти определенную строку в документе? Paska Events/DOM/Window 9 04.03.2010 00:08