不使用 ES6 函数查找数组中心点的代码 - JavaScript


我们需要编写一个数组函数 midElement(),该函数返回数组的中间元素,而不访问其长度属性且不使用任何内置循环。

如果数组包含奇数个元素,则返回一个中间元素;如果数组包含偶数个元素,则返回一个数组,其中包含两个中间元素。

示例

以下是代码 −

const arr = [14, 32, 36, 42, 45, 66, 87];
const array = [13, 92, 83, 74, 55, 46, 74, 82];
const midElement = (arr, ind = 0) => {
   if(arr[ind]){
      return midElement(arr, ++ind);
   };
   return ind % 2 !== 0 ? [arr[(ind-1) / 2]] : [arr[(ind/2)-1],
   arr[ind/2]];
};
console.log(midElement(arr));
console.log(midElement(array));

输出

这将在控制台产生以下输出 −

[ 42 ]
[ 74, 55 ]

更新于: 18-9 月-2020

274 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始
广告