Chúng tôi bắt buộc phải viết một hàm, chẳng hạn như hàm reverseSum () nhận vào hai mảng Numbers, giả sử đầu tiên và thứ hai và trả về một mảng mới chứa,
-
Tổng của phần tử đầu tiên của mảng đầu tiên và phần tử cuối cùng của mảng thứ hai là phần tử đầu tiên,
-
tổng của phần tử thứ hai của mảng đầu tiên và phần tử cuối cùng thứ hai của mảng thứ hai, v.v.
Khi bất kỳ phần tử nào trong mảng hết phần tử trước phần tử kia, chúng ta chỉ cần đẩy tất cả các phần tử còn lại vào mảng. Do đó, hãy viết mã cho hàm này -
Ví dụ
const first = [23, 5, 7, 2, 34, 7, 8]; const second = [2, 4, 21, 4, 6, 7, 56, 23, 32, 12]; const reverseSum = (first, second) => { const sumArray = []; let i, j, k; for(i = 0, j = second.length - 1, k = 0; i < first.length && j >= 0; i++, j--, k++){ sumArray[k] = first[i] + second[j]; }; while(i < first.length){ sumArray[k] = first[i]; k++; i++; }; while(j >= 0){ sumArray[k] = second[j]; k++; j--; }; return sumArray; }; console.log(reverseSum(first, second));
Đầu ra
Đầu ra trong bảng điều khiển sẽ là -
[ 35, 37, 30, 58, 41, 13, 12, 21, 4, 2 ]
Hãy xem kết quả hiển thị những con số này như thế nào. Ví dụ:35 ở trên, là tổng của phần tử đầu tiên của mảng đầu tiên và phần tử cuối cùng của mảng thứ hai là phần tử đầu tiên, tức là -
23 (First element of first array) +12 (Last element of second array) ------ 35