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

Tìm tích lớn nhất của ba số trong JavaScript


Chúng ta cần viết hàm nhận mảng số. Hàm chuẩn bị mảng 3 phần tử cho tích lớn nhất trong mọi bộ ba của mảng. Trả về tích đó.

Ví dụ - arr = [-10, 7, 29, 30, 5, -10, -70] -> output = 21000 (30 * -10 * -70). Vì có số âm, max product là max(min1*min2*max1, max1*max2*max3).

Ví dụ

Code sau đây:

const arr = [-10, 7, 29, 30, 5, -10, -70]; 
const threeProduct = (arr = []) => { 
  const sorter = (a, b) => a - b; 
  arr.sort(sorter); 
  let pro1 = 1, pro2 = 1; 
  let len = arr.length - 1; 
  for (let i = len; i > len - 3; i--) pro1 *= arr[i]; 
  pro2 = arr[0] * arr[1] * arr[len]; 
  return Math.max(pro1, pro2); 
}; 
console.log(threeProduct(arr));

Kết quả

Kết quả trên console:

21000