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