Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tổng mảng số hữu tỉ và trả về dạng đơn giản nhất trong JavaScript

Vấn đề

Chúng ta cần viết một hàm JavaScript nhận vào một mảng đúng hai mảng con hai số mỗi mảng. Cả hai mảng con đại diện cho số hữu tỉ dạng phân số. Hàm sẽ cộng hai số hữu tỉ và trả về mảng mới hai số đại diện cho dạng đơn giản nhất của tổng.

Ví dụ

Dưới đây là mã nguồn:

const arr = [ 
  [1, 2], 
  [1, 3] 
]; 
const findSum = (arr = []) => { 
  const hcf = (a, b) => b ? hcf(b, a % b) : a; 
  if(!arr.length){ 
    return null; 
  }; 
  const [n, d] = arr.reduce(([a, x], [b, y]) => [a*y + b*x, x*y]); 
  const g = hcf(n, d); 
  return g === d ? n / d : [n / g, d / g]; 
}; 
console.log(findSum(arr));

Kết quả

Kết quả đầu ra trong console:

[5, 6]