thể trùng lặp:
How to use Math.max, etc. as higher-order functionsTại sao tôi không thể viết [1,2,3] .reduce (Math.max) bằng Javascript?
Sử dụng Javascript 1.6 mảng của Mozilla 'mở rộng' chức năng (bản đồ, giảm, lọc vv), tại sao nó rằng các công việc sau như mong đợi:
var max = [1,2,3].reduce(function(a,b) { return Math.max(a,b); });
Nhưng các mục sau không hoạt động (nó tạo NaN):
var max2 = [1,2,3].reduce(Math.max);
Có phải vì Math.max là hàm variadic không?
Không hoàn toàn về chủ đề, nhưng nếu bạn muốn một cách dễ dàng giảm một mảng giá trị tối đa của nó, bạn có thể sử dụng '.apply()' trên 'Math.max'. 'var max = Math.max.apply (null, [1,2,3,4]);' – user113716