使用递归 JavaScript 查找数组的中间元素
javascriptweb developmentobject oriented programming更新于 2025/10/10 1:16:17
我们需要编写一个数组函数,例如 findMiddle,它返回数组的最中间元素,而无需访问其长度属性,也不使用任何类型的内置循环。如果数组包含奇数个元素,我们将返回一个最中间的元素,或者如果数组包含偶数个元素,我们将返回一个包含两个最中间元素的数组。
那么,让我们为这个函数编写代码。正如您已经猜到的那样,我们将使用递归来查找这些元素。递归函数的代码将是 −
示例
const arr = [1, 2, 3, 4, 5, 6, 7];
const array = [1, 2, 3, 4, 5, 6, 7, 8];
const findMiddle = (arr, ind = 0) => {
if(arr[ind]){
return findMiddle(arr, ++ind);
};
return ind % 2 !== 0 ? [arr[(ind-1) / 2]] : [arr[(ind/2)-1],
arr[ind/2]];
};
console.log(findMiddle(arr));
console.log(findMiddle(array));
输出
控制台中的输出将是 −
[ 4 ] [ 4, 5 ]
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

