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

วิธีรับตัวเลขที่สามารถแบ่งค่าทั้งหมดในอาร์เรย์ - JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของตัวเลขและส่งกลับตัวเลขที่สามารถแบ่งตัวเลขทั้งหมดในอาร์เรย์ได้อย่างแม่นยำ

สมมติว่าต่อไปนี้คืออาร์เรย์ของเรา –

const arr = [4, 6, 34, 76, 78, 44, 34, 26, 88, 76, 42];

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const arr = [4, 6, 34, 76, 78, 44, 34, 26, 88, 76, 42];
const dividesAll = el => {
   const result = [];
   let num;
   for (num = Math.floor(el / 2); num > 1; num--){
      if (el % num === 0) {
         result.push(num);
      }
   };
   return result;
};
const dividesArray = arr => {
   return arr.map(dividesAll).reduce((acc, val) => {
      return acc.filter(el => val.includes(el));
   });
};
console.log(dividesArray(arr));

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ในคอนโซล -

[ 2 ]