ตกลงลองจินตนาการว่าคุณมีอาร์เรย์ด้านล่างนี้:
const arr = [1, 2, 3, 4];
เรามาเริ่มมองหาวิธีต่างๆกันการทำเพราะฉันไม่สามารถหาคำตอบที่ครอบคลุมได้ที่นี่:
1) การใช้การลดในตัว ()
function total(arr) {
if(!Array.isArray(arr)) return;
return arr.reduce((a, v)=>a + v);
}
2) ใช้สำหรับลูป
function total(arr) {
if(!Array.isArray(arr)) return;
let totalNumber = 0;
for (let i=0,l=arr.length; i<l; i++) {
totalNumber+=arr[i];
}
return totalNumber;
}
3) ใช้ในขณะที่วง
function total(arr) {
if(!Array.isArray(arr)) return;
let totalNumber = 0, i=-1;
while (++i < arr.length) {
totalNumber+=arr[i];
}
return totalNumber;
}
4) การใช้อาร์เรย์สำหรับแต่ละ
function total(arr) {
if(!Array.isArray(arr)) return;
let sum=0;
arr.forEach(each => {
sum+=each;
});
return sum;
};
และเรียกมันว่าสิ่งนี้:
total(arr); //return 10
ไม่แนะนำให้สร้างต้นแบบเช่นนี้กับ Array ...