js 递归查找数组从指定索引开始,最近符合条件的index
时间: 2023-12-12 21:02:55 浏览: 75
递归搜索算法
可以使用递归函数来查找从指定索引开始,最近符合条件的index。以下是一个示例函数:
```javascript
function findIndex(arr, startIndex, target) {
// 递归终止条件
if (startIndex < 0 || startIndex >= arr.length) {
return -1;
}
if (arr[startIndex] === target) {
return startIndex;
}
// 递归调用
return findIndex(arr, startIndex + 1, target);
}
```
该函数接受三个参数:数组、起始索引和目标值。函数通过递归从指定索引开始查找最近符合条件的index,如果找到了目标值,则返回该值的索引,否则返回-1。
使用该函数的示例代码如下:
```javascript
const arr = [1, 2, 3, 4, 5, 6, 7, 8];
console.log(findIndex(arr, 3, 5)); // 输出 4
console.log(findIndex(arr, 5, 5)); // 输出 5
console.log(findIndex(arr, 7, 5)); // 输出 -1
```
在上面的示例中,我们从索引3开始查找数组中最近的值为5的索引,结果为4;从索引5开始查找数组中最近的值为5的索引,结果为5;从索引7开始查找数组中最近的值为5的索引,结果为-1,因为索引7之后没有值为5的元素。
阅读全文