【发布时间】:2018-03-22 00:53:01
【问题描述】:
如果我有一个数组,例如:
["Adambb", "Andrebw", "Bob", "Billy", "Sandrab", "Xaviercb"]
然后我在搜索框中输入(例如)“B”,如何在 JavaScript 中重新排序数组,并首先使用与最接近的字符串匹配的结果(也按字母顺序排列)?
例如,在搜索框中输入“B”会将数组重新排序为:
["Billy", "Bob", "Adambb", "Andrebw", "Sandrab", "Xaviercb"]
我希望数组重新排序,就像任何搜索系统都应该工作一样。出于某种原因,我在网上的任何地方都找不到这个答案。要么我没有正确地提出我的问题,要么我找不到与我的问题相似的任何内容。
【问题讨论】:
-
使用
array.sort()并传入一个函数来选择最接近“b”的函数 -
最接近“b”是什么意思?
-
获取搜索词的字符代码,例如"b".charCodeAt(0);并在排序函数中执行相同的操作,使用最接近“b”字符代码的 charCode。
-
我应该补充一点,搜索词可以是任意数量的字符。
标签: javascript jquery arrays sorting