Моя функция пытается проверить, содержит ли строка подстроку без использования indexOf или regex match
или любых стандартных методов JS.Убедитесь, что строка содержит подстроку без использования indexOf - Javascript
Пожалуйста, проверьте этот jsfiddle: https://jsfiddle.net/09x4Lpj2/
var string1 = 'applegate';
var string2 = 'gate';
function containsString(string1, string2){
\t var j = 0;
var k = 0;
var contains = 'false';
var charArray1 = string1.split('');
var charArray2 = string2.split('');
for(var i = 0; i < charArray2.length; i++){
\t j = i;
if(charArray1[j++] != charArray2[k++]){
\t contains = 'false';
}else{
\t contains = 'true';
}
}
console.log(contains);
}
containsString(string1, string2);
Это решение работает только тогда, когда индексы одинаковы между двумя строками (например applegate
и apple
.). Но не будет работать, если индексы не совпадают (например, applegate
и gate
). Как правильно управлять итерационными значениями, чтобы функция возвращала значение true для обеих ситуаций?
https://en.wikipedia.org/wiki/String_searching_algorithm – Ryan
там не нужно преобразовать строку в массив символов. string уже char array –
Два для циклов, вложенных. – Nayuki