Witam, czy istnieje funkcja, która pozwoli mi znaleźć podobnego stringa w tablicy?
Załóżmy, że mam tablicę ['Długopis', 'Kredka', 'Mazak'],
i potrzebuję, aby funkcja robiła coś takiego: funkcja("ugop") -> indeks w tablicy stringa, który ma w sobie "ugop" [0].
Powie mi ktoś jak mogę taki efekt uzyskać?
0
1
Czy istnieje taka wbudowana funkcja, nie wiem, natomiast możesz napisać własną:
function indexOfSubstring(array, substring) {
var items = array
.map((el, idx) => { return {el: el, idx: idx}})
.filter((elIdx) => elIdx.el.search(substring) >= 0)
return items.length > 0 ? items[0].idx : -1;
}
0
const indexOfSubstring = (array, substring) => array.findIndex(item => item.includes(substring));
Gdybyś chciał, żeby pełne dopasowanie miało priotytet, to możesz sprawdzić, czy wynik array.indexOf(substring)
jest większy od -1
przed szukaniem fragmentu. W takim przypadku wywołanie funkcji indexOfSubstring(["długopis", "opis"], "opis")
zwróci index elementu "opis".