Javascript 通过匹配字符串对数组进行排序

2023-12-15

我有一个包含地理位置代码结果的数组。我想按与我搜索过的术语最接近的匹配项对其进行排序。

例子。搜索:Pizza.

Array: Pizza Uno, Pizzeria Uno, Burgers and Pizzeria, Cino Pizzeria. 

排序后的数组应该是:

Pizza Uno,
Pizzeria Uno,
Burgers and Pizzeria,
Cino Pizzeria. 

感谢您的帮助。


一个真正有效的基本算法是根据匹配项占总字符串长度的百分比进行排序。因此,“Pizza”的精确匹配将为 5/5 (100%),“Pizza Uno”匹配将为 5/9,“Pizzeria Uno”为 4/12,依此类推。这是 MySQL 自然排序算法最基本的核心组件之一。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript 通过匹配字符串对数组进行排序 的相关文章

随机推荐

  • 此 FORTRAN 代码不应编译。这样做有什么原因吗?

    以下代码可以编译 但我认为不应该编译 正如你所看到的 输出是垃圾 这是一个最小的失败例子 在我从事的一个大型项目中 这个例子让我很痛苦 我的问题是 为什么编译器不抱怨 这是编译器的限制 还是这在某种程度上是 预期的行为 而我错过了一些东西
  • 独角兽陷入循环:刷新宝石列表

    我正在使用 Rails 4 0 0 Ruby 2 3 和 Unicorn 我的应用程序一直运行良好 直到有一天我尝试在 Gemfile 中添加 nem gem 一切都在本地正常运行 但是当我使用 Capistrano 部署到 DO 时 我陷
  • Android 5.x 快门速度

    我正在尝试获取受支持的快门速度参数 但我现在确定如何获取这些范围 对于 ISO 值 String supportIsoValues camParams get iso values 支持的值 逗号分隔的字符串 System out prin
  • Aptana 3 php 无法激活函数链接和变量辅助

    我刚刚升级到 Aptana 3 似乎失去了 Eclipse 中的一些强大功能 到目前为止我不知道如何重新启用它 具体来说 我需要重新打开这两个功能 FileUpload checkForExistingUploadPath somepath
  • Bash 脚本转换日期格式

    我正在寻找替换现有的日期格式 CCYY MM DD with MM DD CCYY使用 shell 脚本将日期格式存储在大文件中 在更改日期格式之前 它应该如下所示 2014 01 31 2014 01 31 更改日期格式后应该如下所示 0
  • 自定义 OWIN/Katana UserManager 工厂行为

    网上有很多使用 OWIN Katana 的示例 可以根据用户名 密码组合在数据库中查找用户并生成声明主体 例如 var userManager context OwinContext GetUserManager
  • 找到给定数字的所有因数的最佳方法

    所有能整除 x 的数字 我输入 4 它返回 4 2 1 编辑 我知道这听起来很家庭作业 我正在编写一个小应用程序 用半随机测试数据填充一些产品表 其中两个属性是 ItemMaximum 和 Item Multiplier 我需要确保乘数不会
  • 重塑数据框并创建相似度矩阵

    我有一个数据表 我尝试重塑它 但它不起作用 我该怎么做 我有一个数据表 Name Value Bob 8 9 10 Mike 2 3 4 Sandr 5 6 7 我如何将其放入一个列表中 例如 Value Name 2 Mike 3 Mik
  • 自动加载bitbucket存储库+composer.json

    我想使用 Composer 将 bitbucket 存储库添加到我的供应商文件夹中 这是我的composer json 中的内容 require silex silex 1 1 doctrine dbal 2 2 twig twig 1 s
  • 如何在 mysql 中查找日期时间行的时间增量?

    我在数据库中有一个列 它提供一系列传感器读数的日期时间戳 我想将这些读数分割成不间断的 连续的传感器读数组 如果传感器读数损坏 则日期时间列中将会出现中断 因此 我想对日期时间列执行查询 然后计算连续读数之间的差异 假设我的查询是 sele
  • Unity 5 中的 UnityScript“通用函数”

    在遵循其网站上的 Unity3D 教程时 http unity3d com learn tutorials projects roll a ball moving the player 我遇到过 通用函数 http docs unity3d
  • 配置 IntelliJ IDEA 以使用 JUnit 进行单元测试

    今天早上我决定通过试用版尝试一下 IntelliJ 并安装了 JUnit 插件 我创建了一个新的 Java 项目 我想为其编写一个测试用例 如何将 junit jar 文件添加到我的项目中 我实际上想将它添加到每个 java 项目中 现在和
  • Slim 框架:不允许使用方法 不允许使用方法。必须是以下之一:POST

    我正在 PHP 中设置 REST 服务器 并希望允许客户端使用具有不同方法的端点 例如 GET POST PUT DELETE 等 但是 当我尝试添加 POST 方法的函数时 出现了一个问题 如果我尝试通过 Postman 使用 POST
  • Xgboost 随机种子设置不能确保再现能力

    尽管设定了一个值random state and or seed参数 性能不可重现XgboostSklearn API 包装器 这是代码 from xgboost sklearn import XGBClassifier from skle
  • QWidget不绘制背景色

    我正在使用 PySide 1 2 1 和 Python 2 7 我需要一个小部件来绘制彩色背景 在 Qt Designer 中 我创建了一个简单的窗口 其中包含一个标签 一个包含三个其他项目的小部件和另一个标签 对于包含按钮 单选按钮和复选
  • 如何使 1 + 1 = 2 而不是 1 + 1 = 11 [重复]

    这个问题在这里已经有答案了 我试图以数学方式添加数字 但它不断添加后面的数字 它获取 id 编号 begen 然后获取另一个 div 内的编号 kacbegen var begen this attr id var kacbegen mat
  • 通过 CSS 选择器选择两个已知元素之间的所有元素

    我有两个已定义 id 的元素 它们之间有任何 html 例如 div Hello div div Example div hr a href Example a div World div 是否有 CSS 选择器可以选择 d1 和 d2 之
  • HTTP 状态 500 - Servlet appServlet 的 Servlet.init() 引发异常

    我想尝试一个简单的程序 但出现以下错误 我正在使用 Eclipse Kelper 和 Tomcat 7 0 尝试了很多事情 但没有什么对我有用 HTTP Status 500 Servlet init for servlet appServ
  • Firebase 安全规则阻止写入 Firebase

    注 此问题已标记 polymer 因为 Polymer 库用于生成 Javascript 这个问题是关于处理 Firebase 安全性的两个不同但相关的问题 在尝试让 Firebase 安全规则发挥作用时 问题 1 和问题 2 似乎提出了相
  • Javascript 通过匹配字符串对数组进行排序

    我有一个包含地理位置代码结果的数组 我想按与我搜索过的术语最接近的匹配项对其进行排序 例子 搜索 Pizza Array Pizza Uno Pizzeria Uno Burgers and Pizzeria Cino Pizzeria 排