คำอธิบาย
เขียนฟังก์ชันที่รับอาร์เรย์ตัวเลขและคืนค่าตัวเลขที่หารทุกตัวในอาร์เรย์ลงตัว (ตัวหารร่วม)
ตัวอย่างโค้ด
const arr = [4, 6, 34, 76, 78, 44, 34, 26, 88, 76, 42];
const dividesAll = el => {
const result = [];
for (let 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 ]