亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求原理和實現: 部分字符的建議補全

求原理和實現: 部分字符的建議補全

慕萊塢森 2018-11-21 17:13:44
Content assist provides you with a list of suggested completions for partially entered strings.內容協助為您提供部分輸入的字符串的建議完成列表。描述大概如上,我不知道怎么用一個更精確的詞來形容。sublime中有這個功能,你輸入“不完整的字符”,它會給你返回,包含這些字母的所有結果。譬如:輸入 ds 可以得到 desk ,盡管中間間隔了一個 字母 e。我就想知道這是怎么實現的,原理是什么?而且,這個功能,有名字嗎(我其實不知道這個功能應該叫啥名字,所以也妨礙了在網上搜尋答案)?
查看完整描述

1 回答

?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

  1. 這個功能,應該叫“搜索智能提示”

  2. 實現辦法有很多種,但是我只知道最簡單最容易理解的一種,復雜的對查詢算法做了優化,效率更高,可能涉及到動態規劃問題。

  3. 如果是最簡單的方法,就是把字符串拆開,然后向每兩個字中間放入一個.*,再將其生成正則,用這個正則去匹配列表

  4. JS偽代碼:

var list = [ ... ];

var text = 'ds';

var result = [];


if(text != '') {

    var pattern = new RegExp(text.split('').join('.*'));


    result = list.filter(function(item) {

        return pattern.test(item);

    });

}

演示效果:

https://img1.sycdn.imooc.com//5c2712240001213403660180.jpg

查看完整回答
反對 回復 2018-12-29
  • 1 回答
  • 0 關注
  • 425 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號