【问题标题】:How to convert a string to an array that takes the elements and combines them after each element?如何将字符串转换为获取元素并在每个元素之后组合它们的数组?
【发布时间】:2021-08-06 23:50:17
【问题描述】:

所以如果我有一个看起来像这样的字符串:

const name = "Matt"

并想创建一个如下所示的数组:

nameSearchArr = [
0: "M",
1: 'Ma',
2: 'Mat',
3: 'Matt
]

我试图通过创建一个数组并使用“数组包含”来解决 Firestore 没有“全文搜索”的问题,这样我就可以搜索一个名称,并且在输入时将匹配 nameSearchArr。有人知道最好的方法吗?提前谢谢!

【问题讨论】:

标签: javascript arrays firebase algorithm full-text-search


【解决方案1】:

使用 slice 是一种优雅的方法。

const getStringParts = (word) => {
   const result = [];
   for (let i = 1; i <= word.length; i++) {
      result.push(word.slice(0, i));
   }
   return result;
}

const name = "Matt";
console.log(getStringParts(name));

【讨论】:

  • 感谢您的帮助。你上面的功能让我更好地理解下面的功能!到目前为止,这很完美,谢谢!
【解决方案2】:

虽然我怀疑这总体上是解决“全文搜索”问题的好方法,但以下代码可以解决问题:

const name = "Matt"

const result = name.split("").map((e, i) => name.slice(0,i+1))

console.log(result)

【讨论】:

  • 绝对不是搜索的最佳选择,但现在只是用 firebase 构建小型应用程序,没有钱用于其他 3rd 方搜索功能。更好的是获得所有可能的字母组合,但数组会很大,所以我认为这个搜索功能现在就可以了。非常感谢您的帮助,到目前为止搜索效果很好!欣赏它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-16
  • 1970-01-01
  • 1970-01-01
  • 2017-10-22
  • 2018-07-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多