javascript - Prinsip dan pelaksanaan: Cadangan pelengkapan beberapa aksara
天蓬老师
天蓬老师 2017-07-03 11:42:19
0
2
819
  1. Bantuan kandungan memberi anda senarai cadangan pelengkapan untuk rentetan yang dimasukkan separa.
    Bantuan kandungan memberi anda senarai penyempurnaan yang dicadangkan untuk rentetan yang dimasukkan separa.

  2. Penerangan lebih kurang seperti di atas, saya tidak tahu bagaimana untuk menggunakan perkataan yang lebih tepat untuk menerangkannya.

  3. Terdapat fungsi ini dalam
  4. sublime, anda memasukkan "aksara tidak lengkap" dan ia akan mengembalikan kepada anda semua hasil yang mengandungi huruf ini. Contohnya: Masukkan ds untuk mendapatkan meja , walaupun terdapat huruf e di tengah.

  5. Saya cuma nak tahu bagaimana ini dicapai dan apakah prinsipnya?

  6. Selain itu, adakah fungsi ini mempunyai nama (saya sebenarnya tidak tahu apa fungsi ini harus dipanggil, jadi ia menghalang carian saya untuk jawapan dalam talian)?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

membalas semua(2)
迷茫

@boxsnake memberikan contoh mencari tatasusunan Hasil yang dikembalikan harus diisih "avsdsss" mempunyai keutamaan tertinggi, dan ia mengandungi "ds" berturut-turut. "Semua orang" juga harus memukul, ia mengandungi "d".

Kerumitan masa mencari tatasusunan terlalu tinggi Apabila terdapat banyak kata kunci, pada dasarnya kelajuannya tidak boleh diterima.

Kaedah yang cekap dan boleh dilaksanakan ialah menggunakan pokok carian rentetan.
Pokok trie (pokok kamus) untuk pemprosesan data secara besar-besaran

女神的闺蜜爱上我
  1. Fungsi ini sepatutnya dipanggil "Cari Petua Pintar"

  2. Terdapat banyak cara untuk melaksanakannya, tetapi saya hanya tahu yang paling mudah dan paling mudah untuk difahami Algoritma pertanyaan kompleks dioptimumkan, yang lebih cekap dan mungkin melibatkan masalah pengaturcaraan dinamik.

  3. Jika ia adalah kaedah yang paling mudah, ia adalah untuk membelah rentetan, kemudian letakkan .* antara setiap dua aksara, kemudian jana ungkapan biasa, dan gunakan ungkapan biasa ini untuk memadankan senarai

  4. Kod pseudo 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);
    });
}

Kesan tunjuk cara:

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan