使用javascript从JSON对象中获取最大值
Get Maximum value from JSON object using javascript?
我有JSON,像
var JObject = [
{
a:"A1",
b:100,
c:800
},
{
a:"B1",
b:300,
c:400
}
];
我需要这个JSON的最大值…如果返回键和列索引
因为这是标记在d3。我会给出一个d3的答案。
下面的工作代码var kary = [
{
a:"A1",
b:100,
c:800
},
{
a:"B1",
b:1300,
c:400
},
{
a:"D1",
b:300,
c:400
}
];
var max = d3.max(kary, function(d){ return d3.max(d3.values(d).filter(function(d1){ return !isNaN(d1)}))});
console.log(max)
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
希望这对你有帮助!
你可以这样做
var JObject = [{
a: "A1",
b: 100,
c: 800
}, {
a: "B1",
b: 300,
c: 400
}];
var res = Math.max.apply(null,JObject.map(function(v) {
// iterate over array element and getting max value from result array
var r = [];
for (var val in v) {
// iterate over object inside array
if (v.hasOwnProperty(val)) {
var num = parseInt(v[val], 10);
// parsing the value for integer output
r.push(isNaN(num) ? 0 : num);
// pushing value to array, in case of `Nan` pushing it as 0
}
}
return Math.max.apply(null,r);
// getting max value from object values
}));
console.log(res);
您可以使它或多或少通用-并且可能将其缩短为单个reduce语句。
var data = [
{a:"A1",b:100,c:800},
{a:"B1",b:300,c:400}
];
data
.reduce(function(acc, x, i) {
if (x.b > x.c) {
return acc.concat({key: 'b', value: x.b });
}
return acc.concat({key: 'c', value: x.c });
}, [])
.reduce(function(acc, x, i) {
if (x.value > acc.value) {
return {
key: x.key,
value: x.value,
index: i
};
}
return acc;
}, {key: '', value: Number.MIN_VALUE, index: -1});
如果您正在使用lodash或underscore之类的库,您可以简单地执行:
_.max(_.map(JObject, function(a){
return _.max(_.values(a));
}));
也可以使用reduce:
_.reduce(JObject, function(val, a){
return _.max(_.values(a)) > val ? _.max(_.values(a)) : val;
},0);
相关文章:
- 按最大值获取数组索引
- 从 JavaScript 中的数组中获取最大值和最小值
- 获取整数对象属性名称的最小值和最大值
- 从D3中的JSON中获取最大值
- 如何在JavaScript中从数组中获取最大值
- 从一个值数组中获取多个最大值
- JavaScript/Andercore获取对象中所有项的最小-最大值
- d3.js nvd3.js--获取y轴最小/最大值
- 如何获取数组中包含最大值的两个对象
- Javascript:如何获取输入范围内的最大值
- 在多维数组 JavaScript 或 coffeescript 中获取最大值
- 在格式化为 JSON 的变量中获取最大值
- 从geojson中获取最大值和最小值
- 使用javascript从JSON对象中获取最大值
- 从JS或jQuery中的数组中获取最大值
- 使用Javascript从多维数组中获取最大值
- 从带有函数和参数的关联数组中获取最大值或最小值
- JS中的变量,用于获取最大值的循环
- 从一系列输入字段中获取最大值
- 从JSON对象D3JS中获取最大值