समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखने की आवश्यकता है जो पहले और दूसरे तर्क के रूप में संख्याओं के दो सरणियों, arr1 andarr2, को लेता है।
हमारे फ़ंक्शन को इन दोनों सरणियों के तत्वों को एक नए सरणी में मर्ज करना चाहिए और यदि विलय होने पर या विलय से पहले कोई डुप्लिकेट मौजूद है, तो हमें अतिरिक्त डुप्लिकेट को हटा देना चाहिए ताकि मर्ज किए गए सरणी में प्रत्येक तत्व की केवल एक प्रति मौजूद हो।
यहां क्रम इतना महत्वपूर्ण नहीं है लेकिन तत्वों की आवृत्ति (जो प्रत्येक तत्व के लिए 1 होनी चाहिए) महत्वपूर्ण है।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
onst arr1 = [6, 5, 2, 1, 8]; const arr2 = [3, 4, 6, 8, 9];
तब आउटपुट होना चाहिए -
const output = [6, 5, 2, 1, 8, 3, 4, 9];
उदाहरण
निम्नलिखित कोड है -
const arr1 = [6, 5, 2, 1, 8]; const arr2 = [3, 4, 6, 8, 9]; const mergeAndRectify = (arr1 = [], arr2) => { const { length: len1 } = arr1; const { length: len2 } = arr2; const res = []; let curr = 0; for(let i = 0; i < len1+len2; i++){ if(i >= len1){ curr = i - len1; if(!res.includes(arr1[curr])){ res.push(arr1[curr]); }; }else{ curr = i; if(!res.includes(arr2[curr])){ res.push(arr2[curr]); }; }; }; return res; }; console.log(mergeAndRectify(arr1, arr2));
आउटपुट
कंसोल आउटपुट निम्नलिखित है -
[ 3, 4, 6, 8, 9, 5, 2, 1 ]