【发布时间】:2020-02-20 13:02:36
【问题描述】:
原谅标题,但基本上这就是我想要做的:
我有一个对象数组,在这个例子中我们称它们为狗。每个对象看起来像这样:
{
name: "Poodle",
keywords: ["Fluffy", "Intelligent", "Hypo-allergenic", "Loyal"]
}
用户选择了三个词,然后我想搜索对象数组,并将这三个词与每个数组的“关键字”属性进行匹配。然后我有一些显示逻辑:
- 如果狗在所有三个用户选择的词上都匹配,我只想退回那条狗。
- 如果只有狗与 2 个单词匹配,那么我想带最多 2 条这样的狗。
- 如果只有一个 2 字狗,然后有多个 1 狗匹配,则只显示 2 字狗。
- 如果只有 1 个单词的 dog 匹配项,则最多显示其中三个。
基本上,我不是在问如何做要点,我可以弄清楚,但理想情况下,我需要一组狗和每只狗旁边的匹配数量。然后我可以对此进行一些过滤。
所以我需要一组狗名,总匹配数是这样的(当然,除非有更好的方法,否则我会全神贯注):
[
["Poodle", 2],
["Labrador", 2],
["Schpitz", 1],
["Setter", 0],
["Pit Bull", 0]
]
这听起来像是最好的方法,还是有更简单/更好的方法?
【问题讨论】:
-
对我来说似乎没问题,也许如果你需要多次这样做,索引狗。
-
谢谢,我已经将我真正想要实现的目标加粗了。
标签: javascript arrays sorting filtering data-retrieval