หาค่าสูงสุดของ Array
วิธี 1: Math.max() + Spread Operator (แนะนำ)
<script>
const arr = [6, 39, 55, 1, 44];
const max = Math.max(...arr);
document.write(max); // 55
</script>
วิธี 2: Math.max.apply() (รุ่นเก่า)
<script>
function maximum(value) {
if (!Array.isArray(value)) return false;
return Math.max.apply(null, value);
}
document.write(maximum([6, 39, 55, 1, 44])); // 55
</script>
วิธี 3: sort() + length (ไม่แนะนำ - Mutates Array)
<script>
var numbers = [6, 39, 55, 1, 44];
numbers.sort((a, b) => a - b); // เรียงน้อยไปมาก
document.write(numbers[numbers.length - 1]); // 55
</script>
เปรียบเทียบ
| วิธี | Mutates Array? | Performance | รองรับ Empty Array |
|---|---|---|---|
| Math.max(...arr) | ไม่ | O(n) | -Infinity (ต้องเช็กก่อน) |
| Math.max.apply() | ไม่ | O(n) | -Infinity |
| sort() | ใช่ | O(n log n) | Error |
แนะนำ: ใช้ Math.max(...arr) สั้น อ่านง่าย ไม่ Mutate Array