Tôi muốn nhận được giá trị tối thiểu từ một mảng. Nếu dữ liệu chứa giá trị null
, Math.min.apply
trả lại 0
cho giá trị null
. Vui lòng xem this JSFiddle example. Làm thế nào tôi có thể nhận được giá trị tối thiểu thực sự ngay cả khi giá trị null tồn tại trong mảng?Math.min.apply trả về 0 cho null
Mã (giống như trong JSFiddle ví dụ):
var arrayObject= [ {"x": 1, "y": 5}, {"x": 2, "y": 2}, {"x": 3, "y": 9}, {"x": 4, "y": null}, {"x": 5, "y": 12} ];
var max = Math.max.apply(Math, arrayObject.map(function(o){return o.y;}));
var min = Math.min.apply(Math, arrayObject.map(function(o){return o.y;}));
$("#max").text(max);
$("#min").text(min);
Không có JSON trong ví dụ của bạn ... được sửa. –
Chức năng 'Math.min' thực hiện (hàm bên trong)' ToNumber() 'trên mỗi phần tử mảng, do đó coerces các giá trị thành * Số *. Coercion hút, chúng tôi biết điều đó. ': P' –
@ ŠimeVidas chỉ đơn giản là rời khỏi thuộc tính sẽ làm cho nó 'undefined', mà lần lượt chuyển sang' NaN' mà dễ dàng lọc ra với '.filter (isFinite)' – Esailija