我们需要编写一个数组函数midElement()来返回数组的最中间元素,而无需访问其length属性并且不使用任何内置循环。
如果数组包含奇数个元素,则返回一个中间元素,或者数组包含偶数个元素,则返回两个中间元素的数组。
示例
以下是代码-
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 ]