【发布时间】:2018-06-26 19:34:08
【问题描述】:
我有一个 API 端点,它返回带有一堆游戏 ID 的 JSON 响应。该响应看起来像这样(是的,它被严重剪断了)。
{
"finished": [
{
"game_id": 8
},
{
"game_id": 9
},
{
"game_id": 11
}
],
"unfinished": [
{
"game_id": 12
},
{
"game_id": 13
}
]
}
我想要实现的可能需要一堆单独的功能。但我想在数组中搜索用户输入的特定 ID。并根据它是在“完成”还是“未完成”中,从该键返回值。
假设我想在数组中搜索 ID 为 13。该 ID 将在“未完成”中找到。如果是这种情况,我想返回“未完成”数组中的第一个 ID,即 ID 12。
如果我要在数组中搜索 ID 9,将在“finished”中找到,然后返回该 ID (9)。
如果我要在数组中搜索 ID 12(将在“未完成”中找到),则返回未完成的第一个 ID,ID 12。
希望这是有道理的。
我一直在通过搜索数组进行一些测试,但一点运气都没有
const test = _.findKey(game_ids, function(o) { return o.game_id == 8; });
【问题讨论】:
-
因此,如果已完成,则返回 id,如果未完成,则返回未完成数组中第一项的 id。如果什么都没找到怎么办?
-
没错!如果没有找到,可能会再次返回未完成的第一个 ID。没想到这种情况=)
标签: javascript lodash