Counts the occurrences of a substring in a given string.
- Use
Array.prototype.indexOf()
to look forsearchValue
instr
. - Increment a counter if the value is found and update the index,
i
. - Use a
while
loop that will return as soon as the value returned fromArray.prototype.indexOf()
is-1
.
代码实现
const countSubstrings = (str, searchValue) => {
let count = 0,
i = 0;
while (true) {
const r = str.indexOf(searchValue, i);
if (r !== -1) [count, i] = [count + 1, r + 1];
else return count;
}
};
countSubstrings('tiktok tok tok tik tok tik', 'tik'); // 3
countSubstrings('tutut tut tut', 'tut'); // 4