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

Chuẩn hóa số trong mảng về thang 0–100 trong JavaScript

Giả sử chúng ta có một mảng chứa các số, nhiệm vụ là viết một hàm nhận vào mảng đó và ánh xạ tất cả các giá trị về thang đo 0 đến 100. Nghĩa là số lớn nhất sẽ thành 100, số nhỏ nhất thành 0, và các số còn lại được chuyển đổi theo tỷ lệ tương ứng.

Dưới đây là mã thực hiện:

Ví dụ

const numbers = [45.71, 49.53, 18.5, 8.38, 38.43, 28.44];

const mapNumbers = (arr) => {
  const max = Math.max(...arr);
  const min = Math.min(...arr);
  const diff = max - min;
  return arr.reduce((acc, val) => acc.concat((100 / diff) * (val - min)), []);
};

console.log(mapNumbers(numbers));

Kết quả

Đầu ra trong console sẽ là:

[
  90.71688942891859,
  100,
  24.59295261239368,
  0,
  73.02551640340218,
  48.74848116646417
]