Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การหาค่าเฉลี่ยในอาร์เรย์ประเภทข้อมูลผสมใน JavaScript


สมมติว่าเรามีอาร์เรย์ของประเภทข้อมูลแบบผสมเช่นนี้ -

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