使用Javascript从多维数组中获取最大值
Get max value from multidimensional array using Javascript
我需要排序的最大整数值包含数组从多维数组到第一个使用Javascript/node。
[{"data1":8,"data2":10,"data3":20.25,"data4":0},
{"data1":12,"data2":60,"data3":14.01,"data4":0},
{"data1":30,"data2":32.19,"data3":22.51,"data4":0}]
需要输出:
[{data2":"data1":12日,60岁的"data3":14.01,"data4":0},{"data1":30,"data2":32.19,"data3":22.51,"data4":0},{"data2":"data1":8日,10日,"data3":20.25,"data4":0}]
由于第一个数组的最大值为60,第二个数组的最大值为332.19,第三个数组的最大值为20.25。
给你
var data= [
{"data1":8,"data2":10,"data3":20.25,"data4":0},
{"data1":12,"data2":60,"data3":14.01,"data4":0},
{"data1":30,"data2":32.19,"data3":22.51,"data4":0}
];
data.sort(function(a,b){
return Math.max(b.data1,b.data2,b.data3,b.data4)-Math.max(a.data1,a.data2,a.data3,a.data4);
});
console.log(data);
顺便说一下,问题中的输出是错误的。应该如下所示:
[ { data1: 12, data2: 60, data3: 14.01, data4: 0 },
{ data1: 30, data2: 32.19, data3: 22.51, data4: 0 },
{ data1: 8, data2: 10, data3: 20.25, data4: 0 } ]
对大型数据集使用map排序而不重复调用Math.max
的建议
// the array to be sorted
var data = [{ "data1": 8, "data2": 10, "data3": 20.25, "data4": 0 }, { "data1": 12, "data2": 60, "data3": 14.01, "data4": 0 }, { "data1": 30, "data2": 32.19, "data3": 22.51, "data4": 0 }];
// temporary array holds objects with position and sort-value
var mapped = data.map(function (el, i) {
return {
index: i,
value: Math.max.apply(null, Object.keys(el).map(function (k) {
return el[k];
}))
};
});
// sorting the mapped array containing the reduced values
mapped.sort(function (a, b) {
return b.value - a.value;
});
// container for the resulting order
var result = mapped.map(function (el) {
return data[el.index];
});
console.log(result);
console.log(mapped);
.as-console-wrapper { max-height: 100% !important; top: 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中获取最大值