从两端配对 JavaScript 中的数组


我们需要编写一个 JavaScript 函数,该函数接收一个数字/字符串文本数组,并返回另一个数组的数组。每个子数组正好包含两个元素,第 n 个元素从起始第 n 个元素开始到末尾第 n 个元素。

比如:如果数组是 −

const arr = [1, 2, 3, 4, 5, 6];

那么输出应该是 −

const output = [[1, 6], [2, 5], [3, 4]];

示例

代码将是 −

const arr = [1, 2, 3, 4, 5, 6];
const edgePairs = arr => {
   const res = [];
   const upto = arr.length % 2 === 0 ? arr.length / 2 : arr.length / 2 - 1;
   for(let i = 0; i < upto; i++){
      res.push([arr[i], arr[arr.length-1-i]]);
   };
   if(arr.length % 2 !== 0){
      res.push([arr[Math.floor(arr.length / 2)]]);
   };
   return res;
};
console.log(edgePairs(arr));

输出

控制台输出将是 −

[ [ 1, 6 ], [ 2, 5 ], [ 3, 4 ] ]

更新日期: 19-Oct-2020

138 浏览量

开启您的职业生涯

完成课程,获得认证

开始学习
广告