Ghép cặp mảng từ hai đầu trong JavaScript
Chúng ta cần viết một hàm JavaScript nhận vào một mảng các giá trị nguyên thủy Number/String và trả về một mảng các mảng khác. Với mỗi mảng con chứa đúng hai phần tử, phần tử thứ n từ đầu và phần tử thứ n từ cuối.
Ví dụ: Nếu mảng là:
const arr = [1, 2, 3, 4, 5, 6];
Thì kết quả đầu ra nên là:
const output = [[1, 6], [2, 5], [3, 4]];
Ví dụ
Mã thực hiện như sau:
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
Kết quả trong console sẽ là:
[ [ 1, 6 ], [ 2, 5 ], [ 3, 4 ] ]