Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript의 퍼지 검색 알고리즘

<시간/>

검색 문자열을 사용하는 JavaScript 문자열 함수를 작성해야 합니다. 검색 문자열은 사용되는 문자열에서 검색 문자열을 느슨하게 확인할 수 있습니다.

함수는 이 기준을 고려해야 합니다. 검색 쿼리 문자를 반복하고 문자열에서 동일한 순서로 나타나는지 확인해야 합니다.

예를 들어 -

('a haystack with a needle').fuzzySearch('hay sucks'); // false
('a haystack with a needle').fuzzySearch('sack hand'); // true

예시

const fuzzySearch = function (query) {
   const str = this.toLowerCase();
   let i = 0, n = -1, l;
   query = query.toLowerCase();
   for (; l = query[i++] ;){
      if (!~(n = str.indexOf(l, n + 1))){
         return false;
      };
   };
   return true;
};
String.prototype.fuzzySearch = fuzzySearch;
console.log(('a haystack with a needle').fuzzySearch('hay sucks'));
console.log(('a haystack with a needle').fuzzySearch('sack hand'));

출력

이것은 다음과 같은 출력을 생성합니다 -

false
true