สมมติว่าเรามีอาร์เรย์ของประเภทข้อมูลแบบผสมเช่นนี้ -
const arr = [1,2,3,4,5,"4","12","2",6,7,"4",3,"2"];
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ดังกล่าวและส่งคืนค่าเฉลี่ยขององค์ประกอบดังกล่าวทั้งหมดที่เป็นตัวเลขหรือแปลงเป็นตัวเลขบางส่วนหรือทั้งหมดได้
สตริง "3454fdf" ไม่ได้รวมอยู่ในอาร์เรย์ของปัญหา แต่ถ้าไม่มี เราจะใช้ตัวเลข 3454 เป็นตัวช่วยในการหาค่าเฉลี่ย
ตัวอย่าง
รหัสสำหรับสิ่งนี้จะเป็น −
const arr = [1,2,3,4,5,"4","12","2",6,7,"4",3,"2"];
const calculateAverage = arr => {
let sum = 0, count = 0;
for(let i = 0; i < arr.length; i++){
const val = parseInt(arr[i]);
if(val){
sum += val;
count++;
};
};
return (sum / count);
};
console.log(calculateAverage(arr)); ผลลัพธ์
และผลลัพธ์ในคอนโซลจะเป็น −
4.230769230769231