JavaScript में एक पुनरावृत्ति फ़ाइल खोज एल्गोरिदम
JavaScript में एक पुनरावृत्ति फ़ाइल खोज एल्गोरिदम जो एक डायरेक्टरी और इसके सभी उप-निर्देशिकाओं में एक फ़ाइल खोजने में मदद करता है
2 मिनट पढ़ने के लिए
एल्गोरिथ्म
जावास्क्रिप्ट
नोडजेएस
उन्नत
टैग
एल्गोरिथ्म
जावास्क्रिप्ट
नोडजेएस
उन्नत
संक्षेप🥱!!!
यहाँ तुम आलसी बंदर, कोड कॉपी करो! 😒
क्या हो रहा है? 🤔
तो बात यह है,
- मुझे एक ऐसे तरीके की तलाश थी जिससे मैं इस इलेक्ट्रॉन एप्लिकेशन के लिए एक डायरेक्टरी और उसके सभी उप-निर्देशिकाओं के भीतर फ़ाइल खोज सकता था, जिस पर मैं काम कर रहा था।
- कोई पुस्तकालयें उपयोग करना नहीं चाहता था, क्योंकि … त्यागशील प्रोडक्ट 😒।
- अंत में, मैंने केवल एक शीर्ष-स्तर पथ प्रदान करना चाहा था, ताकि उपयोगकर्ता को उप-निर्देशिकाओं की चिंता नहीं करनी पड़े।
तो ये 👆🏻 तीन आवश्यकताएँ, मुझे इसकी दिशा में लेकर गईं 👇🏻
कोड 💻
अब कोड थोड़ा डरावना दिख सकता है 👻, लेकिन बस उसे पंक्ति-पंक्ति से जाएं और आप समझेंगे, मैं वादा करता हूँ। 😊
// इसे `module` प्रकार होने पर `import` विधियों के साथ प्रतिस्थापित करें const fs = require("fs"); const path = require("path"); function fileSearchRecursive(dirToSearchIn, fileToSearch, callbackFn) { let results = []; fs.readdir(dirToSearchIn, (err, list) => { if (err) return callbackFn(err, []); let pending = list.length; if (!pending) return callbackFn(null, results); list.forEach((file) => { const filename = file; file = path.join(dirToSearchIn, file); fs.stat(file, (_, stat) => { if (stat && stat.isDirectory()) { fileSearchRecursive(file, fileToSearch, (_, res) => { results = results.concat(res); if (!--pending) callbackFn(null, results); }); } else { if (filename.toLowerCase() === fileToSearch.toLowerCase()) { results = results.concat(file); } if (!--pending) callbackFn(null, results); } }); }); }); }
And call it like this:
fileSearchRecursive(__dirname, "techy-rabbit.exe", (err, res) => { if (err) { console.error(err); } else { console.log(res); } });
बस इतना ही! धन्यवाद 🤗 कि इतना नीचे तक पढ़ने के लिए