Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

Reverse Sum Array ใน JavaScript

เราต้องเขียนฟังก์ชัน reverseSum() ที่รับสองอาร์เรย์ของตัวเลข คือ first และ second และคืนค่าอาร์เรย์ใหม่ที่มี:

  • ผลรวมขององค์ประกอบแรกของ first และองค์ประกอบสุดท้ายของ second เป็นองค์ประกอบแรก
  • ผลรวมขององค์ประกอบที่สองของ first และองค์ประกอบที่สองจากท้ายของ second และไปเรื่อยๆ

เมื่ออาร์เรย์ใดอาร์เรย์หนึ่งหมดองค์ประกอบก่อนอีกอัน เราแค่ push องค์ประกอบที่เหลือทั้งหมดเข้าไปในอาร์เรย์ มาเขียนโค้ดกัน:

ตัวอย่างโค้ด

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 มายังไง คือ ผลรวมขององค์ประกอบแรกของ first และสุดท้ายของ second:

23 (first ของ first) + 12 (last ของ second) = 35