gpt4 book ai didi

javascript - 从 (JSON) 对象获取具有最高值的特定键

转载 作者:行者123 更新时间:2023-11-28 16:58:18 24 4
gpt4 key购买 nike

我正在从 API 响应中获取数据,并尝试以最快的速度获取球场的名称。以下是 API 响应的示例。

{
page: 1,
total_pages: 4,
listings: [
{
name: "A.J. Burnett",
pitches: [
{
name: "4 Seam FB",
speed: 96,
control: 84,
},
{
name: "Knuckle Curve",
speed: 79,
control: 74,
},
{
name: "Sinker",
speed: 95,
control: 64,
},
{
name: "Changeup",
speed: 81,
control: 44,
}
]
},
{
name: "Joe Smitch",
pitches: [
{
name: "4 Seam FB",
speed: 91,
control: 82,
},
{
name: "Changeup",
speed: 69,
control: 44,
}
]
},
]
}

这是我尝试过的:

itemSet.forEach( (item) => {
let fastestPitch = Object.keys(item.pitches).reduce((a, b) => {
item.pitches[a] > item.pitches[b] ? item.pitches[a].name : item.pitches[b].name
});
});

但是,这始终返回数组中最后一个音高的名称。我正在尝试以最快的速度返回球场。

编辑:我也尝试了以下操作,但它返回错误。

itemSet.forEach( (item) => {
let fastestPitch = Object.keys(item.pitches).reduce((a, b) => {
item.pitches[a].speed > item.pitches[b].speed ? item.pitches[a].name : item.pitches[b].name
});
});

错误:

(node:80698) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'speed' of undefined

最佳答案

你可以这样做:

const data = {
page: 1,
total_pages: 4,
listings: [{
name: "A.J. Burnett",
pitches: [{
name: "4 Seam FB",
speed: 96,
control: 84,
},
{
name: "Knuckle Curve",
speed: 79,
control: 74,
},
{
name: "Sinker",
speed: 95,
control: 64,
},
{
name: "Changeup",
speed: 81,
control: 44,
}
]
},
{
name: "Joe Smitch",
pitches: [{
name: "4 Seam FB",
speed: 91,
control: 82,
},
{
name: "Changeup",
speed: 69,
control: 44,
}
]
},
]
}

const fastesPitches = data.listings.map(({ pitches }) => {
return pitches.reduce((a, c) => c.speed > a.speed ? c : a).name;
});

console.log(fastesPitches);

关于javascript - 从 (JSON) 对象获取具有最高值的特定键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58446737/

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