ค่ามากที่สุดและน้อยที่สุดของอาร์เรย์ด้วย spread ใน JavaScript
ดูโค้ดต่อไปนี้:
let max = Math.max(1, 2, 3, 4, 5);
อย่างที่คุณเห็น โค้ดนี้หาค่ามากที่สุด จากตัวเลข แต่จะทำอย่างไรถ้าตัวเลขของเรา อยู่ในรูปแบบของอาร์เรย์? ตัวอย่างเช่น แบบนี้:
let arr = [1, 2, 3, 4, 5];
น่าเสียดายที่เราไม่สามารถทำสิ่งต่อไปนี้ได้:
let arr = [1, 2, 3, 4, 5];
let max = Math.max(arr); // ไม่สามารถส่งอาร์เรย์ตรงๆ ได้ที่นี่
แน่นอน เราสามารถใส่องค์ประกอบของอาร์เรย์
ลงใน Math.max ด้วยมือได้ แบบนี้:
let arr = [1, 2, 3, 4, 5];
let max = Math.max(arr[0], arr[1], arr[2], arr[3], arr[4]);
อย่างไรก็ตาม ในกรณีนี้จะสูญเสียความเป็นสากลไป:
โค้ดของเราจะหาค่าสูงสุดได้
เฉพาะสำหรับอาร์เรย์ที่มี 5 องค์ประกอบเท่านั้น
แล้วถ้าเราต้องการให้มีองค์ประกอบในอาร์เรย์ มากกว่าหรือน้อยกว่าล่ะ? มีวิธีแก้! เราใช้ โอเปอเรเตอร์ spread:
let arr = [1, 2, 3, 4, 5]
let max = Math.max(...arr);
โค้ดนี้ แม้จะดูเรียบง่าย แต่มี
ประสิทธิภาพมาก เพราะว่า Math.max สามารถรับ
พารามิเตอร์ได้ไม่จำกัดจำนวน ซึ่งหมายความว่าด้วย
โอเปอเรเตอร์ spread เราสามารถใช้อาร์เรย์
ที่มีขนาดใดก็ได้!
กำหนดอาร์เรย์ที่มีตัวเลข โดยใช้ Math.min
และ spread ให้แสดงค่าต่ำสุดของอาร์เรย์
ออกทางหน้าจอ