感谢您的阅读。
我见过很多这样的例子
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