如何在Javascript中从数组获得最大和最小值?



我见过很多这样的例子

Math.max(...Array1)Math.max(null,num)Math.max.apply(null,num)
但是我的代码不起作用
我的数据大小是255,当我通过console.log

打印它时,数据看起来是这样的
0: 55.47999954223633
1: 56.040000915527344
2: 57.52000045776367
3: 57.119998931884766
...

从json文件中提取数据,然后通过push放入数组。
代码是这样的

let Array =[]
jQuery.getJSON( "price.json",function(data){
for(let i=0;i<data.length;i++){
Array.push(data[i].price)
}    
let maximum = Math.max(...Array) // not working 

感谢您的阅读。

Math.max(...[])为ES6语法。也许您使用的是较旧的JavaScript引擎?以下是使用您的数据作为输入的两个版本,一个用于较新的ES6,一个用于较旧的ES5:

const dataFromJson = [
{ name: "A", price: 55.47999954223633 },
{ name: "A", price: 56.040000915527344 },
{ name: "A", price: 57.52000045776367 },
{ name: "A", price: 57.119998931884766 }
];
// ES6:
let arr1 = dataFromJson.map(obj => obj.price);
let max1 = Math.max(...arr1);
console.log('ES6 max: ' + max1);
// ES5:
let arr2 = dataFromJson.map(function(obj) {
return obj.price;
});
let max2 = Math.max.apply(null, arr2);
console.log('ES5 max: ' + max2);

输出:

ES6 max: 57.52000045776367
ES5 max: 57.52000045776367