Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

ปรับตัวเลขในอาร์เรย์ให้อยู่ในช่วง 0-100 ด้วย JavaScript


สมมติว่าเรามีอาร์เรย์ที่มีตัวเลขบางจำนวน งานของเราคือเขียนฟังก์ชันที่รับอาร์เรย์และแมปค่าทั้งหมดให้สัมพัทธ์กับช่วง 0 ถึง 100 หมายความว่าตัวเลขมากที่สุดจะกลายเป็น 100 ตัวเลขน้อยที่สุดกลายเป็น 0 และตัวอื่นๆ จะถูกแปลงเป็นตัวเลขระหว่าง 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 ]