Computer >> Máy Tính >  >> Lập trình >> Javascript

Tính tổng mảng các số hữu tỉ và trả về kết quả ở dạng đơn giản nhất trong JavaScript

Vấn đề

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một mảng chính xác hai mảng con với hai số mỗi mảng.

Cả hai mảng con đại diện cho một số hữu tỉ ở dạng phân số. Hàm của chúng ta sẽ thêm các số hữu tỉ và trả về một mảng mới gồm hai số biểu thị dạng đơn giản nhất của số hữu tỉ được thêm vào.

Ví dụ

Sau đây là mã -

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));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

[5, 6]