เราจำเป็นต้องเขียนฟังก์ชันโดยพูดว่า reverseSum() ที่รับ Numbers สองอาร์เรย์ อันดับแรกและอันดับที่สองแล้วคืนค่าอาร์เรย์ใหม่ที่มี
-
ผลรวมขององค์ประกอบแรกของอาร์เรย์ที่หนึ่งและองค์ประกอบสุดท้ายของอาร์เรย์ที่สองเป็นองค์ประกอบแรก
-
ผลรวมขององค์ประกอบที่สองของอาร์เรย์ที่หนึ่งและองค์ประกอบสุดท้ายที่สองของอาร์เรย์ที่สอง เป็นต้น
เมื่ออาร์เรย์ใด ๆ หมดองค์ประกอบก่อนหน้าเราเพียงแค่ผลักองค์ประกอบที่เหลือทั้งหมดไปยังอาร์เรย์ ดังนั้น เรามาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −
ตัวอย่าง
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));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น -
[ 35, 37, 30, 58, 41, 13, 12, 21, 4, 2 ]
เรามาดูกันว่าผลลัพธ์แสดงตัวเลขเหล่านี้อย่างไร ตัวอย่างเช่น 35 ด้านบนคือผลรวมขององค์ประกอบแรกของอาร์เรย์ที่หนึ่งและองค์ประกอบสุดท้ายของอาร์เรย์ที่สองเป็นองค์ประกอบแรก นั่นคือ -
23 (First element of first array) +12 (Last element of second array) ------ 35