gpt4 book ai didi

arrays - 如何从包含对象数组的 json 中获取特定对象

转载 作者:太空宇宙 更新时间:2023-11-03 23:12:55 25 4
gpt4 key购买 nike

我正在尝试从以下 json 对象中过滤 id = 963。但得到空数组作为输出。这是代码:

 var json ={"prizes"[
{"year":"2018",
"category":"physics",
"overallMotivation":"\u201cfor groundbreaking inventions in the field of laser physics\u201d",
"laureates"[
{"id":"960",
"firstname":"Arthur",
"surname":"Ashkin",
"motivation":"\"for the optical tweezers and their application to biological systems\"","share":"2"},
{"id":"961",
"firstname":"G\u00e9rard",
"surname":"Mourou",
"motivation":"\"for their method of generating high-intensity, ultra-short optical pulses\"",
"share":"4"},
{"id":"962",
"firstname":"Donna",
"surname":"Strickland",
"motivation":"\"for their method of generating high-intensity, ultra-short optical pulses\"",
"share":"4"}]},
{"year":"2018",
"category":"chemistry",
"laureates":[
{"id":"963",
"firstname":"Frances H.",
"surname":"Arnold",
"motivation":"\"for the directed evolution of enzymes\"",
"share":"2"},
{"id":"964",
"firstname":"George P.",
"surname":"Smith",
"motivation":"\"for the phage display of peptides and antibodies\"",
"share":"4"},
{"id":"965",
"firstname":"Sir Gregory P.","surname":"Winter",
"motivation":"\"for the phage display of peptides and antibodies\"",
"share":"4"}]},
{"year":"2018",
"category":"medicine",
"laureates":[
{"id":"958",
"firstname":"James P.",
"surname":"Allison",
"motivation":"\"for their discovery of cancer therapy by inhibition of negative immune regulation\"",
"share":"2"},
{"id":"959",
"firstname":"Tasuku",
"surname":"Honjo",
"motivation":"\"for their discovery of cancer therapy by inhibition of negative immune regulation\"",
"share":"2"}]}]};

var winners = json.prizes.map(holders=> holders.laureates)
var winner = winners.filter(item => item.id === 963)
console.log(winner);

这个 json 包含数组内的对象数组。我正在尝试获取一个特定的对象。但在控制台中得到空数组。

[]

最佳答案

首先,您应该连接所有获奖者,然后找到您的项目:

var winners = this.json.prizes.reduce((aggr, holders) => (aggr.push(...holders.laureates), aggr), []);
var winner = winners.filter(item => item.id == '963');

关于arrays - 如何从包含对象数组的 json 中获取特定对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59208464/

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