Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

สร้างตัวเลขในอาร์เรย์ที่สัมพันธ์กับ 0 – 100 ใน JavaScript


สมมติว่า เรามีอาร์เรย์ที่มีตัวเลขอยู่บ้าง หน้าที่ของเราคือเขียนฟังก์ชันที่รับอาร์เรย์และจับคู่ค่าทั้งหมดที่สัมพันธ์กับ 0 ถึง 100 หมายความว่าจำนวนที่มากที่สุดควรแทนที่ด้วย 100 ซึ่งน้อยที่สุดด้วย 100 และทั้งหมด ส่วนอื่นๆ ควรแปลงเป็นตัวเลขเฉพาะระหว่าง 0 ถึง 100 ตามอัตราส่วน

ต่อไปนี้เป็นรหัสสำหรับทำเช่นเดียวกัน −

ตัวอย่าง

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

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็น -

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