हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो संख्याओं के दो सरणी लेता है, मान लीजिए arr1 और arr2। फ़ंक्शन को सरणी के तत्वों के बीच प्रतिच्छेदन का पता लगाना चाहिए। यानी, वे तत्व जो दोनों सरणियों में दिखाई देते हैं।
एकमात्र शर्त यह है कि यदि हमने पहले एक तत्व को प्रतिच्छेद के रूप में देखा है, तो हमें उस पर फिर से विचार नहीं करना चाहिए, भले ही वह दोनों सरणियों में फिर से दिखाई दे।
उदाहरण के लिए -
यदि इनपुट सरणियाँ हैं -
const arr1 = [1, 5, 7, 3, 1]; const arr2 = [1, 7, 3, 1, 6];
तब आउटपुट ऐरे होना चाहिए -
const output = [1, 3, 7];
हालांकि, आदेश इतना महत्वपूर्ण नहीं है, महत्वपूर्ण बात यह है कि दोहराए जाने वाले चौराहे पर विचार नहीं करना है।
उदाहरण
निम्नलिखित कोड है -
const arr1 = [1, 5, 7, 3, 1]; const arr2 = [1, 7, 3, 1, 6]; const uniqueIntersection = (arr1, arr2) => { const map = new Set(); const res = []; arr1.forEach(el => map.add(el)); arr2.forEach(el => { if (map.has(el)) { res.push(el); map.delete(el); }; }); return res; }; console.log(uniqueIntersection(arr1, arr2));
आउटपुट
कंसोल पर आउटपुट निम्न है -
[1, 7, 3]