gpt4 book ai didi

javascript - 使用 Javascript 递归地进行线性搜索

转载 作者:行者123 更新时间:2023-11-30 14:10:07 25 4
gpt4 key购买 nike

我正在尝试使用 Javascript 递归地实现线性搜索。

Given Array A = [1,2,3,4,5,6]

函数签名——像这样:

LinearSearchRecursively(ArrayGiven, x, startingValue) 

如果找到值则返回索引,否则返回 -1,但递归地实现它。

如果您能附加一个正在运行的 jsbin 或 jsfiddle,我们将不胜感激。

最佳答案

您可以使用数组解构来获取数组的头部和尾部。

然后你比较头部,如果它等于你的值,你返回到目前为止的索引,否则,你调用带有尾部的递归函数并且索引递增。

您的停止条件是数组为空时,在这种情况下您返回 -1。

在这里,我用一个没有索引的具有更好 API 的外部函数包装递归函数及其调用。

function linearSearch(arr, value) {
function linearSearchRec(list, idx) {
if (!list.length) return -1;
const [head, ...tail] = list;
if (value === head) return idx;
else return linearSearchRec(tail, idx + 1);
}
return linearSearchRec(arr, 0);
}

console.log(linearSearch([1,2,3,4,5,6], 1));
console.log(linearSearch([1,2,3,4,5,6], 4));
console.log(linearSearch([1,2,3,4,5,6], 10));

关于javascript - 使用 Javascript 递归地进行线性搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54620301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com