【发布时间】:2019-10-15 22:12:12
【问题描述】:
我有一组配方对象,每个都包含一个带有值数组的 ingredients 键 - 像这样:
'soup': {'ingredients': ['carrot', 'pepper', 'tomato']},
'pie': {'ingredients': ['carrot', 'steak', 'potato']},
'stew': {'ingredients': ['steak', 'pepper', 'tomato']}
对于每个配方,我想获取一个值数组并查询 ingredients 数组 - 只返回匹配 all 值的配方。
例如:
var shoppingList = ['carrot', 'steak', 'tomato', 'pepper']
// returns: soup, stew
我尝试过使用Array.prototype.filter(),它返回包含任何所查询值的对象。但我只需要返回包含 all 值的对象。
换句话说,如果我没有土豆,别告诉我我可以做馅饼。
数据最初来自 Firebase 查询,但 AFAIK 无法使用 Firebase 执行此服务器端。
提前致谢。
【问题讨论】:
-
您使用的是哪种数据库产品? Cloud Firestore 还是实时数据库?请编辑问题以显示代码和(更详细的)数据库结构未按您预期的方式工作。
-
“我尝试过使用
Array.prototype.filter(),它返回的对象包含任何所查询的值。”你能添加你的内容吗?你试过这个问题吗? -
@3limin4t0r 我认为他们想在 Firebase 中查询,而不是在代码中过滤,尽管这可能是一种选择。
标签: javascript arrays firebase