gpt4 book ai didi

javascript - 如何从一个JSON对象中取出多组数值最大的数据?

转载 作者:行者123 更新时间:2023-11-29 21:32:07 25 4
gpt4 key购买 nike

我如何获得下面数据中所有车辆制造的最高值?

我有一个如下所示的 JSON 对象:

var data = [{
"Make": "Honda",
"Model": "Civic",
"Year": "2005",
"Color": "Red",
"Status": "In-Production",
"Version": 1
}, {
"Make": "Honda",
"Model": "Civic",
"Year": "2005",
"Color": "Red",
"Status": "Discontinued",
"Version": 2
},{
"Make": "Toyota",
"Model": "Camry",
"Year": "2016",
"Color": "Black",
"Status": "In-Production",
"Version": 5
}, {
"Make": "Toyota",
"Model": "Camry",
"Year": "2016",
"Color": "Black",
"Status": "Discontinued",
"Version": 6
}];

在上面的 JSON 对象中,对于每个 Vehicle Make,我需要获取最高版本。

因此结果将是丰田版本 6 和本田版本 2 的所有值。

结果:

[{
"Make": "Honda",
"Model": "Civic",
"Year": "2005",
"Color": "Red",
"Status": "Discontinued",
"Version": 2
},{
"Make": "Toyota",
"Model": "Camry",
"Year": "2016",
"Color": "Black",
"Status": "Discontinued",
"Version": 6
}]

到目前为止,我只能获得最高值,但不能获得多辆车:

例如:这将给我版本 8 但不是 8 和 2。

var query = data.filter(function(result){

var maxVersion = [];

for ( var j = 0; j < data.length; j++ ){
maxVersion.push(data[j].Version);
}

return result.Version === Math.max.apply(null, maxVersion);

});

已回答与此问题类似的版本,但我无法针对我的特定场景提出解决方案来获取多组数据。 Getting max value(s) in JSON array .

最佳答案

这是一个带有对象和 Array#forEach() 的解决方案循环。

var data = [{ "Make": "Honda", "Model": "Civic", "Year": "2005", "Color": "Red", "Status": "In-Production", "Version": 1 }, { "Make": "Honda", "Model": "Civic", "Year": "2005", "Color": "Red", "Status": "Discontinued", "Version": 2 }, { "Make": "Toyota", "Model": "Camry", "Year": "2016", "Color": "Black", "Status": "In-Production", "Version": 5 }, { "Make": "Toyota", "Model": "Camry", "Year": "2016", "Color": "Black", "Status": "Discontinued", "Version": 6 }],
maxed = function (data) {
var r = [], o = {};
data.forEach(function (a) {
if (!(a.Make in o)) {
o[a.Make] = r.push(a) - 1;
return;
}
if (a.Version > r[o[a.Make]].Version) {
r[o[a.Make]] = a;
}
});
return r;
}(data);

document.write('<pre>' + JSON.stringify(maxed, 0, 4) + '</pre>');

关于javascript - 如何从一个JSON对象中取出多组数值最大的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35910343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com