हमें एक 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