ผมพลาดตรงไหนครับ

บอกเราว่าเกิดอะไรขึ้น:
อธิบายปัญหาของคุณโดยละเอียดที่นี่
ทำไมผลลัพธ์ถึงออกมาเป็นตัวสุดท้ายของ Array ครับ
ทำไมมันไม่เอา Array มาบวกกัน

  **รหัสของคุณ**

const sum = (...args) => {
let i;
for(i=0;i<args.length;i++){
  var total=0;
  total+=args[i];
}
return total
};
console.log(sum(1,2,3,4));
  **ข้อมูลเบราว์เซอร์ของคุณ:**

ตัวแทนผู้ใช้คือ: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36

Challenge: Use the Rest Parameter with Function Parameters

ไปสู่ the challenge:

? ทำไมผลลัพธ์ถึงออกมาเป็นตัวสุดท้ายของ Array ครับ
=> เพราะว่า ค่าสุดท้ายของ ตัวแปร total ถูกกำหนดค่าเป็น 0 บวกกับ array ในตำแหน่งสุดท้ายครับ สาเหตุเกิดการประกาศตัวแปร total ในลูปครับ

? ทำไมมันไม่เอา Array มาบวกกัน
=> สาเหตุเกิดจากประกาศตัวแปร total ผิดที่แหละครับตามที่กล่าวไว้ข้างต้น จริงๆ ตัวแปลพวกที่ต้องเป็นผลรวมโดยปกติก็ควรประกาศไว้ข้างนอกลูปครับ

ขอบคุณมากครับ ดันไปประกาศ total =0; ในลูป