हमें एक फंक्शन लिखना है जो निम्नलिखित करता है -
-
पूर्णांकों की एक सरणी को तर्क के रूप में लेता है (उदा. [1,2,3,4])
-
[1,2,3,4] के सभी संभावित क्रमपरिवर्तनों की एक सरणी बनाता है, जिसमें प्रत्येक क्रमपरिवर्तन की लंबाई 4 (यानी, मूल सरणी की लंबाई) होती है
उदाहरण
इसके लिए कोड होगा -
const arr = [1, 2, 3, 4]; const permute = (arr = [], res = [], used = []) => { let i, ch; for (i = 0; i < arr.length; i++) { ch = arr.splice(i, 1)[0]; used.push(ch); if (arr.length === 0) { res.push(used.slice()); } permute(arr, res, used); arr.splice(i, 0, ch); used.pop(); }; return res; }; console.log(permute(arr));
आउटपुट
और कंसोल में आउटपुट होगा -
[ [ 1, 2, 3, 4 ], [ 1, 2, 4, 3 ], [ 1, 3, 2, 4 ], [ 1, 3, 4, 2 ], [ 1, 4, 2, 3 ], [ 1, 4, 3, 2 ], [ 2, 1, 3, 4 ], [ 2, 1, 4, 3 ], [ 2, 3, 1, 4 ], [ 2, 3, 4, 1 ], [ 2, 4, 1, 3 ], [ 2, 4, 3, 1 ], [ 3, 1, 2, 4 ], [ 3, 1, 4, 2 ], [ 3, 2, 1, 4 ], [ 3, 2, 4, 1 ], [ 3, 4, 1, 2 ], [ 3, 4, 2, 1 ], [ 4, 1, 2, 3 ], [ 4, 1, 3, 2 ], [ 4, 2, 1, 3 ], [ 4, 2, 3, 1 ], [ 4, 3, 1, 2 ], [ 4, 3, 2, 1 ] ]