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

Tạo các số trong mảng có liên quan đến 0 - 100 trong JavaScript

Giả sử, chúng ta có một mảng chứa một số số, công việc của chúng ta là viết một hàm lấy mảng đó và ánh xạ tất cả các giá trị liên quan đến 0 đến 100. Có nghĩa là số lớn nhất nên được thay thế bằng 100, nhỏ nhất bằng 100 và tất cả những người khác sẽ được chuyển đổi thành các số cụ thể từ 0 đến 100 theo tỷ lệ.

Sau đây là mã để thực hiện tương tự -

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

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

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