हमें एक जावास्क्रिप्ट स्ट्रिंग फ़ंक्शन लिखने की आवश्यकता है जो एक खोज स्ट्रिंग लेता है जो उस स्ट्रिंग में खोज स्ट्रिंग के लिए शिथिल रूप से जांच कर सकता है जिसके साथ इसका उपयोग किया जाता है।
फ़ंक्शन को इस मानदंड को ध्यान में रखना चाहिए:इसे खोज क्वेरी अक्षरों के माध्यम से लूप करना चाहिए और जांचना चाहिए कि क्या वे स्ट्रिंग में उसी क्रम में होते हैं।
उदाहरण के लिए -
('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