使用递归JavaScript查找数组的中间元素

我们需要编写一个数组函数,例如findMiddle,该函数返回数组的最中间元素,而无需访问其length属性,也无需使用任何内置循环。如果数组包含奇数个元素,则返回一个中间元素,或者数组包含偶数个元素,则返回两个中间元素的数组。

因此,让我们为该函数编写代码。正如您已经猜到的,我们将利用递归来查找这些元素。递归函数的代码将是-

示例

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查找数组的中间元素 的全部内容, 来源链接: utcz.com/z/317141.html

回到顶部