Я пытаюсь построить поиск предполагают, что возвращает лучший матч ниже мой код с комментариямиКак динамически проверять, содержит ли строка более одной подстроки?
/*
string = {"Canna Terra PLUS 50 Litres", "Canna Vega Tent", "Canna Bio Vega", "Super Canna 50 max" }
search = "Canna Vega" this can be dynamic ranging up to 4 words search term
The expected return array would be
{"Canna Vega Tent", "Canna Bio Vega" }
*/
function loadSuggest(string,search){
if(search.length < 3){
return; // suggest is loaded only if the search term is more than 3 letter
}
var terms = search.split(' '); // split the search term with spaces
var i;
for(i = 0; i < string.length; i++){
/*
how to dynamically check and return
the results containing more than one term match ?
I have tried indexOf() but that fails with dynamic number of words matching
*/
}
return resultArray;
}
я упомянул в комментариях кода, я стараюсь, чтобы получить лучший матч со строкой, содержащей все слова в поиске срок.
"abcdefabcfjbjabc", который вы хотите что есть 3 совпадения «abc». Right – void
@void no, например строка «abc bbc ccf efg», поисковый термин «abc ccf», я хочу знать, присутствуют ли как «abc», так и «ccf» в этой строке –