Computer >> Máy Tính >  >> Lập trình >> Javascript

Ghép nối một mảng từ các đầu cực trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript nhận một mảng các ký tự Số / Chuỗi và trả về một mảng mảng khác. Với mỗi mảng con chứa chính xác hai phần tử, phần tử thứ n từ đầu thứ n tính từ cuối cùng.

Ví dụ:Nếu mảng là -

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

Sau đó, đầu ra phải là -

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

Ví dụ

Mã cho điều này sẽ là -

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));

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

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