हमें एक JavaScript फ़ंक्शन लिखना है जो संख्याओं की एक सरणी को पहले तर्क के रूप में और एक लक्ष्य योग को दूसरे तर्क के रूप में लेता है। फ़ंक्शन को उन सभी तत्वों की सरणी की सरणी बनानी चाहिए जो सरणी से (दोहराए या गैर-दोहराए) लक्ष्य योग तक जुड़ते हैं।
उदाहरण के लिए - यदि इनपुट सरणी है -
const arr = [2, 3, 6, 7], sum = 7;
इसलिए, उपरोक्त इनपुट के लिए आउटपुट इस तरह दिखना चाहिए -
const output = [ [2, 2, 3], [7] ];
उदाहरण
इसके लिए कोड होगा -
const arr = [2, 3, 6, 7], sum = 7; const combineElements = (arr, sum) => { const output = []; const findCombination = (remain, path, start) => { if (remain < 0) { return; } if (remain === 0) { output.push([...path]); return; } for (let i = start; i < arr.length; i++) { findCombination(remain - arr[i], [...path, arr[i]], i); } } findCombination(sum, [], 0); return output; }; console.log(combineElements(arr, sum));आउटपुट
कंसोल में आउटपुट होगा -
[ [ 2, 2, 3 ], [ 7 ] ]