Мне нужна функция, которая работает как IndexOf
var str = "test*index*ofAnyChar";
console.info(str.indexOf("*", 5)); // output will be 10
var str = "test*index*ofAnyChar";
console.info(str.indexOf("*", 0)); // output will be 4
чтобы получить строку, indexvalue, startfrom и вернуть значение, отличное от встроенной функции return str.indexOf(indexValue,startFrom)
function Findindex(str, indexValue, startFrom){
}
Я хочу результат ('str*index*of123123E32132s', '*', 0)
быть 3
а также
Я хочу результат ('str*index*of123123E32132s', '*', 4)
быть 9
Итак, return str.indexOf(indexValue, startFrom)? ты серьезный?
@JaromandaX Мне нужно вернуть значение, используя цикл
какой цикл - функция может возвращать только одно значение, поэтому не уверен, при чем здесь цикл - возможно, если вы показали какой-то код, который выглядит как попытка решить вашу проблему



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Конечно, вы можете использовать цикл для перебора строки. Используйте цикл for...of.
function Findindex(str, indexValue, startFrom){
let i = 0;
for(const char of str){
if (!(i>=startFrom)){
i++;
continue;
}
if (char==indexValue) return i;
i++;
}
}
Его синтаксис:
str.indexOf(searchValue[, fromIndex])
Описание второго параметра:
An integer representing the index at which to start the search; the default value is 0. For fromIndex values lower than 0 or greater than str.length, the search starts at index 0 and str.length respectively.
Как видите, indexOf принимает второй параметр, позволяющий указать, откуда искать.
Вы можете использовать его как таковой
function Findindex(str, indexValue, startFrom){
return str.indexOf(indexValue,startFrom);
}
Вот еще один способ решить эту проблему. В этом методе вы выполняете итерацию только из нужного вам индекса и останавливаетесь, когда находите совпадение.
Примечание. Я также переименовал функцию, чтобы следовать соглашению об именах.
function findIndex(str, indexValue, startFrom=0){
for (let i = startFrom; i < str.length; i++) {
if (str[i] === indexValue) return i
}
}
console.info(findIndex('str*index*of123123E32132s', '*', 0))
console.info(findIndex('str*index*of123123E32132s', '*', 4))При желании вы можете добавить оператор return -1 после цикла for, если хотите обрабатывать случаи, когда он не находит совпадений.
что ты уже испробовал?