This commit is contained in:
Rohit Tanwar
2018-02-26 15:06:47 +05:30
parent a81b335497
commit a47f64c89a
5 changed files with 128 additions and 93 deletions

View File

@ -0,0 +1,19 @@
### isSimilar
Determines if the `pattern` matches with `str`
Loops through `str` and determines if it contains all characters of `pattern` and in the correct order. Both the strings are converted to lower case.
Adapted from [here](https://github.com/forrestthewoods/lib_fts/blob/80f3f8c52db53428247e741b9efe2cde9667050c/code/fts_fuzzy_match.js#L18).
``` js
const isSimilar = (pattern, str) =>
[...str].reduce(
(matchIndex, char) => char.toLowerCase() === (pattern[matchIndex] || '').toLowerCase() ? matchIndex + 1 : matchIndex, 0
) === pattern.length ? true : false;
```
``` js
isSimilar('rt','Rohit'); // true
isSimilar('tr','Rohit'); // false
```