mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-05 16:26:47 +08:00

* Add prettier config * test: add test to check for absolute function * chore: es5 to es6 * test: add test to check mean function * test: add test for sum of digit * test: add test for factorial * test: add test for fibonnaci * test: add test for find HCF * test: add test for lcm * test: add gridget test * test: add test for mean square error * test: add test for modular binary exponentiation * test: add tests for palindrome * test: add test for pascals triangle * test: add tests for polynomial * test: add tests for prime check * test: add tests for reverse polish notation * test: add tests for sieve of eratosthenes * test: add tests for pi estimation monte carlo method * chore: move tests to test folder * chore: fix standardjs errors
34 lines
1.2 KiB
JavaScript
34 lines
1.2 KiB
JavaScript
/*
|
|
Pattern matching is case insensitive as
|
|
the inputs are converted to lower case before the
|
|
algorithm is run.
|
|
|
|
The algorithm will run through the entire text and
|
|
return the starting index if the given pattern is
|
|
available in the text
|
|
*/
|
|
const checkIfPatternExists = (text, pattern) => {
|
|
if (typeof text !== 'string' || typeof pattern !== 'string') {
|
|
throw new TypeError('Given input is not a string')
|
|
}
|
|
const textLength = text.length // Store the length of the text in a variable
|
|
const patternLength = pattern.length // Store the length of the pattern in a variable
|
|
|
|
// Iterate through the text until the textlength - patternlength index
|
|
for (let i = 0; i <= textLength - patternLength; i++) {
|
|
// For each character in the text check if the subsequent character
|
|
// are matching the given pattern; if not break from the condition
|
|
for (let j = 0; j < textLength; j++) {
|
|
if (text[i + j] !== pattern[j]) break
|
|
|
|
// For each iteration of j check if the value of
|
|
// j + 1 is equal to the length of the pattern
|
|
if (j + 1 === patternLength) {
|
|
return `Given pattern is found at index ${i}`
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
export { checkIfPatternExists }
|