Javascript 从数组中获取最高值和最低值
我有这个阵列:Javascript 从数组中获取最高值和最低值,javascript,jquery,Javascript,Jquery,我有这个阵列: var data = [{ // series 1 data: [ [1, 30], [2, 40],[3, 38], [4, 39], [5, 42] ], color: '#8bc12c', points: { radius: 4, fillColor: '#8bc12c' } },
var data = [{
// series 1
data: [ [1, 30], [2, 40],[3, 38], [4, 39], [5, 42] ],
color: '#8bc12c',
points: { radius: 4, fillColor: '#8bc12c' }
},
{
// series 2
data: [ [1, 30], [2, 40],[3, 38], [4, 39], [5, 42] ],
color: '#858585',
points: { radius: 4, fillColor: '#858585' }
},
{
// series 3
data: [ [1, 30], [2, 40],[3, 38], [4, 39], [5, 42] ],
color: '#e88278',
points: { radius: 4, fillColor: '#e88278' }
},
{
// series 4
data: [ [1, 50], [2, 60],[3, 58], [4, 59], [5, 62] ],
color: '#5a5a5a',
points: { radius: 4, fillColor: '#5a5a5a' }
}
];
我想得到的数据包含另一个具有[x,y]值的数据数组。如何从该数组中获取最大y值?在这种情况下是62,试试这个-
var max = 0 ;
$.each(data,function(){
$.each(this.data,function(i,v){
if(v[1] > max){
max = v[1];
}
})
})
console.log("max : " + max);
终极一班轮:
console.log(Math.max.apply(null, data.map(function(o) {
return Math.max.apply(null, o.data.map(function(o) {
return o[1];
}));
})));
提示:
$。每个
或$。映射
你可以简单地迭代数组的元素,并将每个y值与当前最大的y值进行比较。@FelixKling有人从帖子中删除了jQuery
标记。@Joseph梦想家是我,因为我认为这样的任务可以不用jQuery@Igor:但它表示jQuery解决方案也是可以接受的。javascript
标记描述说“通常需要纯javascript答案,除非框架或库的标记也存在。”不过,我完全支持纯javascript解决方案;var max1=umax.max(data1,函数(d){.return{.max(d.data,函数(d1){.maxmax=d1[1];return maxmax;})[1];});console.log(maxmax);请注意,这是ES5。@JosephDreamer是的,我把它留给OP:)