Javascript 解析具有相同id值的所有JSON对象

Javascript 解析具有相同id值的所有JSON对象,javascript,json,Javascript,Json,我得到了这个JSON响应: {"beatmapset_id":"971561","beatmap_id":"2034200","approved":"3","total_length":"196","hit_length":"186","version":"Easy","file_md5":"9c8eb80f6e245b5b0a0a100bbb3e274c","diff_size":"4","diff_overall":"7","diff_approach":"5","diff_drain":"

我得到了这个JSON响应:

{"beatmapset_id":"971561","beatmap_id":"2034200","approved":"3","total_length":"196","hit_length":"186","version":"Easy","file_md5":"9c8eb80f6e245b5b0a0a100bbb3e274c","diff_size":"4","diff_overall":"7","diff_approach":"5","diff_drain":"7","mode":"3","submit_date":"2019-05-14 12:01:13","approved_date":"2019-05-22 15:49:35","last_update":"2019-05-22 11:51:06","artist":"antiPLUR","title":"Runengon","creator":"Raveille","creator_id":"1388767","bpm":"174","source":"osu!","tags":"featured artist lenfried- famoss mappers' guild fa chiptune 8bit aaron dictor electronic","genre_id":"1","language_id":"1","favourite_count":"1","rating":"0","playcount":"0","passcount":"0","max_combo":null,"diff_aim":null,"diff_speed":null,"difficultyrating":"1.2615262269973755"},{"beatmapset_id":"971561","beatmap_id":"2034201","approved":"3","total_length":"196","hit_length":"196","version":"Hard","file_md5":"b5fbe1a1444e35ecb7f8f03e2b61986b","diff_size":"4","diff_overall":"8","diff_approach":"5","diff_drain":"8","mode":"3","submit_date":"2019-05-14 12:01:13","approved_date":"2019-05-22 15:49:35","last_update":"2019-05-22 11:51:06","artist":"antiPLUR","title":"Runengon","creator":"Raveille","creator_id":"1388767","bpm":"174","source":"osu!","tags":"featured artist lenfried- famoss mappers' guild fa chiptune 8bit aaron dictor electronic","genre_id":"1","language_id":"1","favourite_count":"1","rating":"0","playcount":"27","passcount":"9","max_combo":null,"diff_aim":null,"diff_speed":null,"difficultyrating":"3.590883255004883"},{"beatmapset_id":"971561","beatmap_id":"2034202","approved":"3","total_length":"196","hit_length":"196","version":"Normal","file_md5":"f7f23e1073b508593d98cb50097b0d7e","diff_size":"4","diff_overall":"7.5","diff_approach":"5","diff_drain":"7.5","mode":"3","submit_date":"2019-05-14 12:01:13","approved_date":"2019-05-22 15:49:35","last_update":"2019-05-22 11:51:06","artist":"antiPLUR","title":"Runengon","creator":"Raveille","creator_id":"1388767","bpm":"174","source":"osu!","tags":"featured artist lenfried- famoss mappers' guild fa chiptune 8bit aaron dictor electronic","genre_id":"1","language_id":"1","favourite_count":"1","rating":"0","playcount":"0","passcount":"0","max_combo":null,"diff_aim":null,"diff_speed":null,"difficultyrating":"2.367466926574707"},{"beatmapset_id":"971561","beatmap_id":"2039384","approved":"3","total_length":"196","hit_length":"189","version":"Lenfried's Insane","file_md5":"de4b9a01bf44a847b7cebb96da623ccf","diff_size":"4","diff_overall":"8.5","diff_approach":"5","diff_drain":"8.5","mode":"3","submit_date":"2019-05-14 12:01:13","approved_date":"2019-05-22 15:49:35","last_update":"2019-05-22 11:51:06","artist":"antiPLUR","title":"Runengon","creator":"Raveille","creator_id":"1388767","bpm":"174","source":"osu!","tags":"featured artist lenfried- famoss mappers' guild fa chiptune 8bit aaron dictor electronic","genre_id":"1","language_id":"1","favourite_count":"1","rating":"0","playcount":"9","passcount":"0","max_combo":null,"diff_aim":null,"diff_speed":null,"difficultyrating":"4.318020820617676"},{"beatmapset_id":"747507","beatmap_id":"1575098","approved":"3","total_length":"199","hit_length":"183","version":"Collab Hard","file_md5":"bc4b04103cd263b039fc8349420493a7","diff_size":"3.8","diff_overall":"6","diff_approach":"7.5","diff_drain":"5","mode":"0","submit_date":"2018-03-11 14:14:22","approved_date":"2019-05-22 16:36:04","last_update":"2019-05-21 12:48:00","artist":"senya","title":"Terasareru kurai no Shiawase","creator":"Satellite","creator_id":"1661227","bpm":"160","source":"\u6771\u65b9Project","tags":"\u5e7d\u9589\u30b5\u30c6\u30e9\u30a4\u30c8 touhou sellenite dailycare -mo- shirasaka_koume voyage 1969 \u6771\u65b9\u6c38\u591c\u6284 imperishable night stage 6 theme \u304b\u307e\u305b\u864e kamasetora \u795e\u5948\u68ee\u30e6\u30a6 hizumi \u96f6\u308c\u305a\u306e\u9858\u3044\u30b4\u30c8 koborezu no negai goto dagger-gazel yuuhei","genre_id":"1","language_id":"1","favourite_count":"11","rating":"0","playcount":"0","passcount":"0","max_combo":"839","diff_aim":"1.5965542793273926","diff_speed":"1.6582205295562744","difficultyrating":"3.2856078147888184"},{"beatmapset_id":"747507","beatmap_id":"1575099","approved":"3","total_length":"199","hit_length":"182","version":"Koume's Lunatic","file_md5":"7851625279d6e841ef810ced825d8f5a","diff_size":"3.8","diff_overall":"8","diff_approach":"9","diff_drain":"5.5","mode":"0","submit_date":"2018-03-11 14:14:22","approved_date":"2019-05-22 16:36:04","last_update":"2019-05-21 12:48:00","artist":"senya","title":"Terasareru kurai no Shiawase","creator":"Satellite","creator_id":"1661227","bpm":"160","source":"\u6771\u65b9Project","tags":"\u5e7d\u9589\u30b5\u30c6\u30e9\u30a4\u30c8 touhou sellenite dailycare -mo- shirasaka_koume voyage 1969 \u6771\u65b9\u6c38\u591c\u6284 imperishable night stage 6 theme \u304b\u307e\u305b\u864e kamasetora \u795e\u5948\u68ee\u30e6\u30a6 hizumi \u96f6\u308c\u305a\u306e\u9858\u3044\u30b4\u30c8 koborezu no negai goto dagger-gazel yuuhei","genre_id":"1","language_id":"1","favourite_count":"11","rating":"0","playcount":"0","passcount":"0","max_combo":"1022","diff_aim":"2.5197982788085938","diff_speed":"2.2990376949310303","difficultyrating":"4.929216384887695"},{"beatmapset_id":"747507","beatmap_id":"1575100","approved":"3","total_length":"199","hit_length":"197","version":"Mo's Lunatic","file_md5":"9572a8b9f12005624ac623f889f5faba","diff_size":"4.2","diff_overall":"7.6","diff_approach":"8.8","diff_drain":"6","mode":"0","submit_date":"2018-03-11 14:14:22","approved_date":"2019-05-22 16:36:04","last_update":"2019-05-21 12:48:00","artist":"senya","title":"Terasareru kurai no Shiawase","creator":"Satellite","creator_id":"1661227","bpm":"160","source":"\u6771\u65b9Project","tags":"\u5e7d\u9589\u30b5\u30c6\u30e9\u30a4\u30c8 touhou sellenite dailycare -mo- shirasaka_koume voyage 1969 \u6771\u65b9\u6c38\u591c\u6284 imperishable night stage 6 theme \u304b\u307e\u305b\u864e kamasetora \u795e\u5948\u68ee\u30e6\u30a6 hizumi \u96f6\u308c\u305a\u306e\u9858\u3044\u30b4\u30c8 koborezu no negai goto dagger-gazel yuuhei","genre_id":"1","language_id":"1","favourite_count":"11","rating":"0","playcount":"0","passcount":"0","max_combo":"1108","diff_aim":"2.3829450607299805","diff_speed":"2.201321601867676","difficultyrating":"4.675078392028809"},{"beatmapset_id":"747507","beatmap_id":"1575101","approved":"3","total_length":"199","hit_length":"182","version":"Satellite","file_md5":"db69457a6d3eda63c9de4af73c556bee","diff_size":"4","diff_overall":"8.4","diff_approach":"9.2","diff_drain":"6.2","mode":"0","submit_date":"2018-03-11 14:14:22","approved_date":"2019-05-22 16:36:04","last_update":"2019-05-21 12:48:00","artist":"senya","title":"Terasareru kurai no Shiawase","creator":"Satellite","creator_id":"1661227","bpm":"160","source":"\u6771\u65b9Project","tags":"\u5e7d\u9589\u30b5\u30c6\u30e9\u30a4\u30c8 touhou sellenite dailycare -mo- shirasaka_koume voyage 1969 \u6771\u65b9\u6c38\u591c\u6284 imperishable night stage 6 theme \u304b\u307e\u305b\u864e kamasetora \u795e\u5948\u68ee\u30e6\u30a6 hizumi \u96f6\u308c\u305a\u306e\u9858\u3044\u30b4\u30c8 koborezu no negai goto dagger-gazel yuuhei","genre_id":"1","language_id":"1","favourite_count":"11","rating":"0","playcount":"0","passcount":"0","max_combo":"1138","diff_aim":"2.7451868057250977","diff_speed":"2.3703885078430176","difficultyrating":"5.302974224090576"},{"beatmapset_id":"747507","beatmap_id":"1643432","approved":"3","total_length":"199","hit_length":"183","version":"Sellenite's Normal","file_md5":"2f143083aa9bc12f94318d467a2cdd41","diff_size":"3.5","diff_overall":"4","diff_approach":"5.5","diff_drain":"4","mode":"0","submit_date":"2018-03-11 14:14:22","approved_date":"2019-05-22 16:36:04","last_update":"2019-05-21 12:48:00","artist":"senya","title":"Terasareru kurai no Shiawase","creator":"Satellite","creator_id":"1661227","bpm":"160","source":"\u6771\u65b9Project","tags":"\u5e7d\u9589\u30b5\u30c6\u30e9\u30a4\u30c8 touhou sellenite dailycare -mo- shirasaka_koume voyage 1969 \u6771\u65b9\u6c38\u591c\u6284 imperishable night stage 6 theme \u304b\u307e\u305b\u864e kamasetora \u795e\u5948\u68ee\u30e6\u30a6 hizumi \u96f6\u308c\u305a\u306e\u9858\u3044\u30b4\u30c8 koborezu no negai goto dagger-gazel yuuhei","genre_id":"1","language_id":"1","favourite_count":"11","rating":"0","playcount":"0","passcount":"0","max_combo":"584","diff_aim":"1.1335170269012451","diff_speed":"1.0233529806137085","difficultyrating":"2.211951971054077"},{"beatmapset_id":"747507","beatmap_id":"1659358","approved":"3","total_length":"199","hit_length":"173","version":"Easy","file_md5":"5ede8b76217cbf0e22980e990905181d","diff_size":"3","diff_overall":"2","diff_approach":"3","diff_drain":"2","mode":"0","submit_date":"2018-03-11 14:14:22","approved_date":"2019-05-22 16:36:04","last_update":"2019-05-21 12:48:00","artist":"senya","title":"Terasareru kurai no Shiawase","creator":"Satellite","creator_id":"1661227","bpm":"160","source":"\u6771\u65b9Project","tags":"\u5e7d\u9589\u30b5\u30c6\u30e9\u30a4\u30c8 touhou sellenite dailycare -mo- shirasaka_koume voyage 1969 \u6771\u65b9\u6c38\u591c\u6284 imperishable night stage 6 theme \u304b\u307e\u305b\u864e kamasetora \u795e\u5948\u68ee\u30e6\u30a6 hizumi \u96f6\u308c\u305a\u306e\u9858\u3044\u30b4\u30c8 koborezu no negai goto dagger-gazel yuuhei","genre_id":"1","language_id":"1","favourite_count":"11","rating":"0","playcount":"0","passcount":"0","max_combo":"483","diff_aim":"1.0374764204025269","diff_speed":"0.9278122186660767","difficultyrating":"2.020120620727539"}]
我想解析所有具有相同beatmapset_id值的对象的所有困难,并将其放入数组中。我该怎么做?我这样做是为了只解析JSON中的最后一个元素:

var latestBeatmap = JSON.stringify(resp[resp.length - 1]);
var parsed = JSON.parse(latestBeatmap);

从我在代码中看到的情况来看,答案似乎已经在resp中解析了。将其字符串化并再次解析是没有意义的,您可以从该数组中筛选出所需的值

如果我所理解的是正确的,你想得到一个beatmapset\u id的所有困难

你可以通过做一个过滤器和一个映射来实现

e、 g

将产生:

["1.2615262269973755", "3.590883255004883", "2.367466926574707", "4.318020820617676"]
如果要使用最后一个beatmap,可以用resp[resp.length-1]替换该数字

如果要对它们进行分组,可以像这样使用reduce:

bySetId = resp.reduce((bySetId, current) => {
  if (!bySetId[current.beatmapset_id]) {
    bySetId[current.beatmapset_id] = []
  }
  bySetId[current.beatmapset_id].push(current.difficultyrating)
  return bySetId;
}, {});
bySetId将具有以下值:

{
  747507: 
    [ "3.2856078147888184", "4.929216384887695", "4.675078392028809", 
      "5.302974224090576", "2.211951971054077", "2.020120620727539"]
  971561: 
    [ "1.2615262269973755", "3.590883255004883", "2.367466926574707", 
      "4.318020820617676"]
}
然后,如果需要,您可以使用它来合并以前的值。

变量输入=[{ beatmapset_id:971561, beatmap_id:2034200, 核准:3, 总长度:196, 命中长度:186, 版本:简单, 文件号:9c8eb80f6e245b5b0a0a100bbb3e274c, 差异大小:4, 总体差异:7, 不同方法:5, 差分排水管:7, 方式:3,, 提交日期:2019-05-14 12:01:13, 批准日期:2019-05-22 15:49:35, 最后更新:2019-05-22 11:51:06, 艺术家:antiPLUR, 标题:鲁宁贡, 创造者:拉维尔, 创建者id:1388767, bpm:174, 资料来源:osu!, 标签:特写艺术家lenfried-著名地图绘制者协会fa chiptune 8bit aaron dictor electronic, 类型识别号:1, 语言:1, 最受欢迎的数字:1, 评级:0, 播放次数:0, 密码:0, 最大值组合:空, diff_aim:null, 速度差:空, 难度:1.2615262269973755 }, { beatmapset_id:971561, beatmap_id:2034201, 核准:3, 总长度:196, 命中长度:196, 版本:硬, 文件:b5fbe1a1444e35ecb7f8f03e2b61986b, 差异大小:4, 总体差异:8, 不同方法:5, 差分排水管:8, 方式:3,, 提交日期:2019-05-14 12:01:13, 批准日期:2019-05-22 15:49:35, 最后更新:2019-05-22 11:51:06, 艺术家:antiPLUR, 标题:鲁宁贡, 创造者:拉维尔, 创建者id:1388767, bpm:174, 资料来源:osu!, 标签:特写艺术家lenfried-著名地图绘制者协会fa chiptune 8bit aaron dictor electronic, 类型识别号:1, 语言:1, 最受欢迎的数字:1, 评级:0, 播放次数:27, 存折:9, 最大值组合:空, diff_aim:null, 速度差:空, 难度:3.590883255004883 }, { beatmapset_id:971561, beatmap_id:2034202, 核准:3, 总长度:196, 命中长度:196, 版本:正常, 文件_md5:f7f23e1073b508593d98cb50097b0d7e, 差异大小:4, 总体差异:7.5, 不同方法:5, 排水差:7.5, 方式:3,, 提交日期:2019-05-14 12:01:13, 批准日期:2019-05-22 15:49:35, 最后更新:2019-05-22 11:51:06, 艺术家:antiPLUR, 标题:鲁宁贡, 创造者:拉维尔, 创建者id:1388767, bpm:174, 资料来源:osu!, 标签:特写艺术家lenfried-著名地图绘制者协会fa chiptune 8bit aaron dictor electronic, 类型识别号:1, 语言:1, 最受欢迎的数字:1, 评级:0, 播放次数:0, 密码:0, 最大值组合:空, diff_aim:null, 速度差:空, 难度:2.367466926574707 }, { beatmapset_id:971561, beatmap_id:2039384, 核准:3, 总长度:196, 命中长度:189, 版本:伦弗里德疯了, 文件号:de4b9a01bf44a847b7cebb96da623ccf, 差异大小:4, 总体差异:8.5, 不同方法:5, 排水差:8.5, 方式:3,, 提交日期:2019-05-14 12:01:13, 批准日期:2019-05-22 15:49:35, 最后更新:2019-05-22 11:51:06, 艺术家:antiPLUR, 标题:鲁宁贡, 创造者:拉维尔, 创建者id:1388767, bpm:174, 资料来源:osu!, 标签:特写艺术家lenfried-著名地图绘制者协会fa chiptune 8bit aaron dictor electronic, 类型识别号:1, 语言:1, 最受欢迎的数字:1, 评级:0, 播放次数:9, 密码:0, 最大值组合:空, diff_aim:null, 速度差:空, 难度:4.31800820617676 }, { beatmapset_id:747507, beatmap_id:1575098, 核准:3, 总长度:199, 命中长度:183, 版本:努力合作, 文件号:bc4b04103cd263b039fc8349420493a7, 差异大小:3.8, 总体差异:6, 差异方法:7.5, 差分排水管:5, 模式:0, 提交日期:2018-03-11 14:14:22, 批准日期:2019-05-22 16:36:04, 最后更新:2019-05-21 12:48:00, 艺术家:塞尼亚, 标题:Terasareu kurai no Shiawase, 创造者:卫星, 创建者id:1661227, bpm:160, 来源:\u6771\u65b9Project, 标签:\u5e7d\u9589\u30b5\u30c6\u30e9\u30a4\u30c8 touhou sellenite dailycare-mo-shirasaka\u koume航行1969\u6771\u65b9\u6c38\u591c\u6284不朽夜舞台6主题\u304b\u305e\u305b\u864e kamasetora\u795e\u5948\u68ee\u30e6\u30e6\u30a6 hizumi\u96f6\u308c\u305a\u305a\u308e\u308e\u388\u388, 类型识别号:1, 语言:1, 最受欢迎人数:11, 评级:0, 播放次数:0, 密码:0, 马克斯·克鲁组合:839, 差异目标:1.5965542793273926, 速度差:1.6582205295562744, 难度:3.2856078147888184 }, { beatmapset_id:747507, beatmap_i d:1575099, 核准:3, 总长度:199, 命中长度:182, 版本:库姆的疯子, 文件:7851625279d6e841ef810ced825d8f5a, 差异大小:3.8, 总体差异:8, 不同方法:9, 排水差:5.5, 模式:0, 提交日期:2018-03-11 14:14:22, 批准日期:2019-05-22 16:36:04, 最后更新:2019-05-21 12:48:00, 艺术家:塞尼亚, 标题:Terasareu kurai no Shiawase, 创造者:卫星, 创建者id:1661227, bpm:160, 来源:\u6771\u65b9Project, 标签:\u5e7d\u9589\u30b5\u30c6\u30e9\u30a4\u30c8 touhou sellenite dailycare-mo-shirasaka\u koume航行1969\u6771\u65b9\u6c38\u591c\u6284不朽夜舞台6主题\u304b\u305e\u305b\u864e kamasetora\u795e\u5948\u68ee\u30e6\u30e6\u30a6 hizumi\u96f6\u308c\u305a\u305a\u308e\u308e\u388\u388, 类型识别号:1, 语言:1, 最受欢迎人数:11, 评级:0, 播放次数:0, 密码:0, max_combo:1022, 差异目标:2.5197982788085938, 速度差:2.299037694303, 难度:4.929216384887695 }, { beatmapset_id:747507, beatmap_id:1575100, 核准:3, 总长度:199, 命中长度:197, 版本:莫言的疯子, 文件号:9572a8b9f12005624ac623f889f5faba, 差异大小:4.2, 总体差异:7.6, 差异方法:8.8, 差分排水管:6, 模式:0, 提交日期:2018-03-11 14:14:22, 批准日期:2019-05-22 16:36:04, 最后更新:2019-05-21 12:48:00, 艺术家:塞尼亚, 标题:Terasareu kurai no Shiawase, 创造者:卫星, 创建者id:1661227, bpm:160, 来源:\u6771\u65b9Project, 标签:\u5e7d\u9589\u30b5\u30c6\u30e9\u30a4\u30c8 touhou sellenite dailycare-mo-shirasaka\u koume航行1969\u6771\u65b9\u6c38\u591c\u6284不朽夜舞台6主题\u304b\u305e\u305b\u864e kamasetora\u795e\u5948\u68ee\u30e6\u30e6\u30a6 hizumi\u96f6\u308c\u305a\u305a\u308e\u308e\u388\u388, 类型识别号:1, 语言:1, 最受欢迎人数:11, 评级:0, 播放次数:0, 密码:0, 马克斯·库姆组合:1108, 差异目标:2.3829450607299805, 速度差:2.201321601867676, 难度:4.675078392028809 }, { beatmapset_id:747507, beatmap_id:1575101, 核准:3, 总长度:199, 命中长度:182, 版本:卫星, 文件号:db69457a6d3eda63c9de4af73c556bee, 差异大小:4, 总体差异:8.4, 差异方法:9.2, 差分排水管:6.2, 模式:0, 提交日期:2018-03-11 14:14:22, 批准日期:2019-05-22 16:36:04, 最后更新:2019-05-21 12:48:00, 艺术家:塞尼亚, 标题:Terasareu kurai no Shiawase, 创造者:卫星, 创建者id:1661227, bpm:160, 来源:\u6771\u65b9Project, 标签:\u5e7d\u9589\u30b5\u30c6\u30e9\u30a4\u30c8 touhou sellenite dailycare-mo-shirasaka\u koume航行1969\u6771\u65b9\u6c38\u591c\u6284不朽夜舞台6主题\u304b\u305e\u305b\u864e kamasetora\u795e\u5948\u68ee\u30e6\u30e6\u30a6 hizumi\u96f6\u308c\u305a\u305a\u308e\u308e\u388\u388, 类型识别号:1, 语言:1, 最受欢迎人数:11, 评级:0, 播放次数:0, 密码:0, 马克斯·库姆组合:1138, 差异目标:2.7451868057250977, 速度差:2.3703885078430176, 难度:5.302974224090576 }, { beatmapset_id:747507, beatmap_id:1643432, 核准:3, 总长度:199, 命中长度:183, 版本:Sellenite正常, 文件号:2f143083aa9bc12f94318d467a2cdd41, 差异大小:3.5, 总体差异:4, 差异方法:5.5, 差分排水管:4, 模式:0, 提交日期:2018-03-11 14:14:22, 批准日期:2019-05-22 16:36:04, 最后更新:2019-05-21 12:48:00, 艺术家:塞尼亚, 标题:Terasareu kurai no Shiawase, 创造者:卫星, 创建者id:1661227, bpm:160, 来源:\u6771\u65b9Project, 标签:\u5e7d\u9589\u30b5\u30c6\u30e9\u30a4\u30c8 touhou sellenite dailycare-mo-shirasaka\u koume航行1969\u6771\u65b9\u6c38\u591c\u6284不朽夜舞台6主题\u304b\u305e\u305b\u864e kamasetora\u795e\u5948\u68ee\u30e6\u30e6\u30a6 hizumi\u96f6\u308c\u305a\u305a\u308e\u308e\u388\u388, 类型识别号:1, 语言:1, 最受欢迎人数:11, 评级:0, 播放次数:0, 密码:0, 马克斯·克鲁组合:584, 差异目标:1.133517026901451, 速度差:1.0233529806137085, 难度:2.211951971054077 }, { beatmapset_id:747507, beatmap_id:1659358, 核准:3, 总长度:199, 命中长度:173, 版本:简单, 文件:5ede8b76217cbf0e22980e990905181d, 差异大小:3, 总体差异:2, 不同方法:3, 分流管:2, 模式:0, 提交日期:2018-03-11 14:14:22, 批准日期:2019-05-22 16:36:04, 最后更新:2019-05-21 12:48:00, 艺术家:塞尼亚, 标题:Terasareu kurai no Shiawase, 创造者:卫星, 创建者id:1661227, bpm:160, 来源:\u6771\u65b9Project, 标签:\u5e7d\u9589\u30b5\u30c6\u30e9\u30a4\u30c8 touhou sellenite dailycare-mo-shirasaka\u koume航行1969\u6771\u65b9\u6c38\u591c\u6284不朽夜舞台6主题\u304b\u307e\u305b\u864e kamasetora\u795e\u5948\u68ee\u30e6\u30a6\u30a6 hizumi\u96f6\u308c\u305a\u305a\u308e\u308e\u388\u388 阿泽尔·尤海, 类型识别号:1, 语言:1, 最受欢迎人数:11, 评级:0, 播放次数:0, 密码:0, 马克斯·库姆组合:483, 差异目标:1.0374764204025269, 速度差:0.9278122186660767, 难度:2.020120620727539 }]; var extract\u beatmapset\u id=input.mapitem=>{ 返回{ beatmapset\u id:item.beatmapset\u id, 困难训练:项。困难训练 } }; var result={}; extract\u beatmapset\u id.forEachitem=>{ if!结果[item.beatmapset\u id]{ 结果[item.beatmapset_id]=[]; } 结果[item.beatmapset\u id].pushitem.HardicultyRating; }; console.logresult我们可以使用Set和map来执行此操作:

const beatMapToDifficulty = [...new Set(beatmapResp.map(b =>b.beatmapset_id))]
            .map(bm => ({
               beatmapset_id: bm, 
               difficultyratings: beatmapResp.filter(br => br.beatmapset_id === bm)
                                             .map(b => b.difficultyrating)
               }));

console.log(beatMapToDifficulty);
下面是这段代码的工作片段

常数beatmapResp=[{ beatmapset_id:971561, beatmap_id:2034200, 核准:3, 总长度:196, 命中长度:186, 版本:简单, 文件号:9c8eb80f6e245b5b0a0a100bbb3e274c, 差异大小:4, 总体差异:7, 不同方法:5, 差分排水管:7, 方式:3,, 提交日期:2019-05-14 12:01:13, 批准日期:2019-05-22 15:49:35, 最后更新:2019-05-22 11:51:06, 艺术家:antiPLUR, 标题:鲁宁贡, 创造者:拉维尔, 创建者id:1388767, bpm:174, 资料来源:osu!, 标签:特写艺术家lenfried-著名地图绘制者协会fa chiptune 8bit aaron dictor electronic, 类型识别号:1, 语言:1, 最受欢迎的数字:1, 评级:0, 播放次数:0, 密码:0, 最大值组合:空, diff_aim:null, 速度差:空, 难度:1.2615262269973755 }, { beatmapset_id:971561, beatmap_id:2034201, 核准:3, 总长度:196, 命中长度:196, 版本:硬, 文件:b5fbe1a1444e35ecb7f8f03e2b61986b, 差异大小:4, 总体差异:8, 不同方法:5, 差分排水管:8, 方式:3,, 提交日期:2019-05-14 12:01:13, 批准日期:2019-05-22 15:49:35, 最后更新:2019-05-22 11:51:06, 艺术家:antiPLUR, 标题:鲁宁贡, 创造者:拉维尔, 创建者id:1388767, bpm:174, 资料来源:osu!, 标签:特写艺术家lenfried-著名地图绘制者协会fa chiptune 8bit aaron dictor electronic, 类型识别号:1, 语言:1, 最受欢迎的数字:1, 评级:0, 播放次数:27, 存折:9, 最大值组合:空, diff_aim:null, 速度差:空, 难度:3.590883255004883 }, { beatmapset_id:971561, beatmap_id:2034202, 核准:3, 总长度:196, 命中长度:196, 版本:正常, 文件_md5:f7f23e1073b508593d98cb50097b0d7e, 差异大小:4, 总体差异:7.5, 不同方法:5, 排水差:7.5, 方式:3,, 提交日期:2019-05-14 12:01:13, 批准日期:2019-05-22 15:49:35, 最后更新:2019-05-22 11:51:06, 艺术家:antiPLUR, 标题:鲁宁贡, 创造者:拉维尔, 创建者id:1388767, bpm:174, 资料来源:osu!, 标签:特写艺术家lenfried-著名地图绘制者协会fa chiptune 8bit aaron dictor electronic, 类型识别号:1, 语言:1, 最受欢迎的数字:1, 评级:0, 播放次数:0, 密码:0, 最大值组合:空, diff_aim:null, 速度差:空, 难度:2.367466926574707 }, { beatmapset_id:971561, beatmap_id:2039384, 核准:3, 总长度:196, 命中长度:189, 版本:伦弗里德疯了, 文件号:de4b9a01bf44a847b7cebb96da623ccf, 差异大小:4, 总体差异:8.5, 不同方法:5, 排水差:8.5, 方式:3,, 提交日期:2019-05-14 12:01:13, 批准日期:2019-05-22 15:49:35, 最后更新:2019-05-22 11:51:06, 艺术家:antiPLUR, 标题:鲁宁贡, 创造者:拉维尔, 创建者id:1388767, bpm:174, 资料来源:osu!, 标签:特写艺术家lenfried-著名地图绘制者协会fa chiptune 8bit aaron dictor electronic, 类型识别号:1, 语言:1, 最受欢迎的数字:1, 评级:0, 播放次数:9, 密码:0, 最大值组合:空, diff_aim:null, 速度差:空, 难度:4.31800820617676 }, { beatmapset_id:747507, beatmap_id:1575098, 核准:3, 总长度:199, 命中长度:183, 版本:努力合作, 文件号:bc4b04103cd263b039fc8349420493a7, 差异大小:3.8, 总体差异:6, 差异方法:7.5, 差分排水管:5, 模式:0, 提交日期:2018-03-11 14:14:22, 批准日期:2019-05-22 16:36:04, 最后更新:2019-05-21 12:48:00, 艺术家:塞尼亚, 标题:Terasareu kurai no Shiawase, 创造者:卫星, 创建者id:1661227, bpm:160, 来源:\u6771\u65b9Project, 标签:\u5e7d\u9589\u30b5\u30c6\u30e9\u30a4\u30c8 touhou sellenite dailycare-mo-shirasaka\u koume航行1969\u6771\u65b9\u6c38\u591c\u6284不朽夜舞台6主题\u304b\u305e\u305b\u864e kamasetora\u795e\u5948\u68ee\u30e6\u30e6\u30a6 hizumi\u96f6\u308c\u305a\u305a\u308e\u308e\u388\u388, 类型识别号:1, 语言:1, 最受欢迎人数:11, 评级:0, 播放次数:0, 密码:0, 马克斯·克鲁组合:839, 差异目标:1.5965542793273926, 速度差:1.6582205295562744, 难度:3.2856078147888184 }, { beatmapset_id:747507, beatmap_id:1575099, 核准:3, 总长度:199, 命中长度:182, 版本:Koume's Luna 抽搐, 文件:7851625279d6e841ef810ced825d8f5a, 差异大小:3.8, 总体差异:8, 不同方法:9, 排水差:5.5, 模式:0, 提交日期:2018-03-11 14:14:22, 批准日期:2019-05-22 16:36:04, 最后更新:2019-05-21 12:48:00, 艺术家:塞尼亚, 标题:Terasareu kurai no Shiawase, 创造者:卫星, 创建者id:1661227, bpm:160, 来源:\u6771\u65b9Project, 标签:\u5e7d\u9589\u30b5\u30c6\u30e9\u30a4\u30c8 touhou sellenite dailycare-mo-shirasaka\u koume航行1969\u6771\u65b9\u6c38\u591c\u6284不朽夜舞台6主题\u304b\u305e\u305b\u864e kamasetora\u795e\u5948\u68ee\u30e6\u30e6\u30a6 hizumi\u96f6\u308c\u305a\u305a\u308e\u308e\u388\u388, 类型识别号:1, 语言:1, 最受欢迎人数:11, 评级:0, 播放次数:0, 密码:0, max_combo:1022, 差异目标:2.5197982788085938, 速度差:2.299037694303, 难度:4.929216384887695 }, { beatmapset_id:747507, beatmap_id:1575100, 核准:3, 总长度:199, 命中长度:197, 版本:莫言的疯子, 文件号:9572a8b9f12005624ac623f889f5faba, 差异大小:4.2, 总体差异:7.6, 差异方法:8.8, 差分排水管:6, 模式:0, 提交日期:2018-03-11 14:14:22, 批准日期:2019-05-22 16:36:04, 最后更新:2019-05-21 12:48:00, 艺术家:塞尼亚, 标题:Terasareu kurai no Shiawase, 创造者:卫星, 创建者id:1661227, bpm:160, 来源:\u6771\u65b9Project, 标签:\u5e7d\u9589\u30b5\u30c6\u30e9\u30a4\u30c8 touhou sellenite dailycare-mo-shirasaka\u koume航行1969\u6771\u65b9\u6c38\u591c\u6284不朽夜舞台6主题\u304b\u305e\u305b\u864e kamasetora\u795e\u5948\u68ee\u30e6\u30e6\u30a6 hizumi\u96f6\u308c\u305a\u305a\u308e\u308e\u388\u388, 类型识别号:1, 语言:1, 最受欢迎人数:11, 评级:0, 播放次数:0, 密码:0, 马克斯·库姆组合:1108, 差异目标:2.3829450607299805, 速度差:2.201321601867676, 难度:4.675078392028809 }, { beatmapset_id:747507, beatmap_id:1575101, 核准:3, 总长度:199, 命中长度:182, 版本:卫星, 文件号:db69457a6d3eda63c9de4af73c556bee, 差异大小:4, 总体差异:8.4, 差异方法:9.2, 差分排水管:6.2, 模式:0, 提交日期:2018-03-11 14:14:22, 批准日期:2019-05-22 16:36:04, 最后更新:2019-05-21 12:48:00, 艺术家:塞尼亚, 标题:Terasareu kurai no Shiawase, 创造者:卫星, 创建者id:1661227, bpm:160, 来源:\u6771\u65b9Project, 标签:\u5e7d\u9589\u30b5\u30c6\u30e9\u30a4\u30c8 touhou sellenite dailycare-mo-shirasaka\u koume航行1969\u6771\u65b9\u6c38\u591c\u6284不朽夜舞台6主题\u304b\u305e\u305b\u864e kamasetora\u795e\u5948\u68ee\u30e6\u30e6\u30a6 hizumi\u96f6\u308c\u305a\u305a\u308e\u308e\u388\u388, 类型识别号:1, 语言:1, 最受欢迎人数:11, 评级:0, 播放次数:0, 密码:0, 马克斯·库姆组合:1138, 差异目标:2.7451868057250977, 速度差:2.3703885078430176, 难度:5.302974224090576 }, { beatmapset_id:747507, beatmap_id:1643432, 核准:3, 总长度:199, 命中长度:183, 版本:Sellenite正常, 文件号:2f143083aa9bc12f94318d467a2cdd41, 差异大小:3.5, 总体差异:4, 差异方法:5.5, 差分排水管:4, 模式:0, 提交日期:2018-03-11 14:14:22, 批准日期:2019-05-22 16:36:04, 最后更新:2019-05-21 12:48:00, 艺术家:塞尼亚, 标题:Terasareu kurai no Shiawase, 创造者:卫星, 创建者id:1661227, bpm:160, 来源:\u6771\u65b9Project, 标签:\u5e7d\u9589\u30b5\u30c6\u30e9\u30a4\u30c8 touhou sellenite dailycare-mo-shirasaka\u koume航行1969\u6771\u65b9\u6c38\u591c\u6284不朽夜舞台6主题\u304b\u305e\u305b\u864e kamasetora\u795e\u5948\u68ee\u30e6\u30e6\u30a6 hizumi\u96f6\u308c\u305a\u305a\u308e\u308e\u388\u388, 类型识别号:1, 语言:1, 最受欢迎人数:11, 评级:0, 播放次数:0, 密码:0, 马克斯·克鲁组合:584, 差异目标:1.133517026901451, 速度差:1.0233529806137085, 难度:2.211951971054077 }, { beatmapset_id:747507, beatmap_id:1659358, 核准:3, 总长度:199, 命中长度:173, 版本:简单, 文件:5ede8b76217cbf0e22980e990905181d, 差异大小:3, 总体差异:2, 不同方法:3, 分流管:2, 模式:0, 提交日期:2018-03-11 14:14:22, 批准日期:2019-05-22 16:36:04, 最后更新:2019-05-21 12:48:00, 艺术家:塞尼亚, 标题:Terasareu kurai no Shiawase, 创造者:卫星, 创建者id:1661227, bpm:160, 来源:\u6771\u65b9Project, 标签:\u5e7d\u9589\u30b5\u30c6\u30e9\u30a4\u30c8 touhou sellenite dailycare-mo-shirasaka\u koume航行1969\u6771\u65b9\u6c38\u591c\u6284不朽夜舞台6主题\u304b\u305e\u305b\u864e kamasetora\u795e\u5948\u68ee\u30e6\u30a6 hizumi\u96f6\u308c\u305a\u30 6e\u9858\u3044\u30b4\u30c8 koborezu no negai goto dagger gazel Yuhei, 类型识别号:1, 语言:1, 最受欢迎人数:11, 评级:0, 播放次数:0, 密码:0, 马克斯·库姆组合:483, 差异目标:1.0374764204025269, 速度差:0.9278122186660767, 难度:2.020120620727539 }]; 常量BeatMapToDifficulity=[…新的SetbeatmapResp.mapb=>b.beatmapset\u id] .mapbm=>{ beatmapset_id:bm, 难处理:beatmapResp.filterbr=>br.beatmapset\u id==bm .mapb=>b.困难 };
console.logbeatmapto困难;不需要调用JSON.stringify和JSON.parse。只需使用var parsed=resp[resp.length-1];你所说的相同的beatmapset_id是什么意思?和什么一样?你忘了[在您的JSON响应开始时。对我们来说,格式化也非常好。我在您的解决方案中遇到了这个错误,我的解决方案正在运行btw SyntaxError:JSON中的意外标记o在位置1显示您试图获得的结果,因此我们可以更好地理解您。更像这样,但我以前不知道beatmapset_id。我的Discord Bot正在解析JSON每秒响应一次并等待元素。然后要按beatmapset_id分组吗?如果JSON中出现具有相同beatmapset_id的新对象,它将从这些对象中将所有难以排序的元素保存到数组中。如何仅获取最新的元素?如果出现具有相同beatmapset_id的新对象,它将只获取它们,而不获取任何其他元素?啊,你可以nt将beatmapset_id固定到数组的最后一个?正确吗?选择第一个代码并用resp[resp.length-1]替换971561.beatmapset_id检查console.log中的结果,它可以工作,但我如何才能只获取最新的元素?如果出现具有相同beatmapset_id的新对象,它将只获取它们,而不获取任何其他对象?啊,那么您想要给定beatmapset_id的最后一个难度吗?@kjoszi添加了显示最后结果的选项,这就是您想要的吗?
{
  747507: 
    [ "3.2856078147888184", "4.929216384887695", "4.675078392028809", 
      "5.302974224090576", "2.211951971054077", "2.020120620727539"]
  971561: 
    [ "1.2615262269973755", "3.590883255004883", "2.367466926574707", 
      "4.318020820617676"]
}
const beatMapToDifficulty = [...new Set(beatmapResp.map(b =>b.beatmapset_id))]
            .map(bm => ({
               beatmapset_id: bm, 
               difficultyratings: beatmapResp.filter(br => br.beatmapset_id === bm)
                                             .map(b => b.difficultyrating)
               }));

console.log(beatMapToDifficulty);