मान लीजिए, हमारे पास एकल अक्षरों की n अलग सरणियाँ हैं। हमें एक JavaScript फ़ंक्शन लिखना आवश्यक है जो उन सभी सरणियों को लेता है।
फ़ंक्शन को ऐसी सभी संभावित स्ट्रिंग्स बनानी चाहिए जो −
प्रत्येक सरणी से ठीक एक अक्षर रखती हैं
कोई दोहराव वाला अक्षर नहीं रखती (क्योंकि सरणियों में सामान्य तत्व हो सकते हैं)
इस समस्या के उद्देश्य के लिए, हम इन तीन सरणियों पर विचार करेंगे, लेकिन हम अपना फ़ंक्शन इस तरह लिखेंगे कि यह वेरिएबल संख्या में सरणियों के साथ अच्छा काम करे −
const arr1 = [a,b ,c,d ]; const arr2 = [e,f ,g ,a]; const arr3 = [m, n, o, g, k];
उदाहरण
इसके लिए कोड होगा −
const arr1 = ['a','b' ,'c','d' ]; const arr2 = ['e','f' ,'g' ,'a']; const arr3 = ['m', 'n', 'o', 'g', 'k']; const allCombinations = (...arrs) => { let res = []; const reduced = arrs.reduce((acc, b) => acc.reduce((r, v) => { return r.concat(b.map(el => { return [].concat(v, el); })) }, []) ); res = reduced.filter(el => new Set(el).size === el.length); return res.map(el => el.join(' ')); }; console.log(allCombinations(arr1, arr2, arr3));आउटपुट
और कंसोल में आउटपुट होगा −
[ 'a e m', 'a e n', 'a e o', 'a e g', 'a e k', 'a f m', 'a f n', 'a f o', 'a f g', 'a f k', 'a g m', 'a g n', 'a g o', 'a g k', 'b e m', 'b e n', 'b e o', 'b e g', 'b e k', 'b f m', 'b f n', 'b f o', 'b f g', 'b f k', 'b g m', 'b g n', 'b g o', 'b g k', 'b a m', 'b a n', 'b a o', 'b a g', 'b a k', 'c e m', 'c e n', 'c e o', 'c e g', 'c e k', 'c f m', 'c f n', 'c f o', 'c f g', 'c f k', 'c g m', 'c g n', 'c g o', 'c g k', 'c a m', 'c a n', 'c a o', 'c a g', 'c a k', 'd e m', 'd e n', 'd e o', 'd e g', 'd e k', 'd f m', 'd f n', 'd f o', 'd f g', 'd f k', 'd g m', 'd g n', 'd g o', 'd g k', 'd a m', 'd a n', 'd a o', 'd a g', 'd a k' ]