JS 排列组合

Posted 流星蝴蝶没有剑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 排列组合相关的知识,希望对你有一定的参考价值。

  • 不重复

function permute() 
	let backTrack = (nums, arr, nowLen) => 
		if (arr.length == nowLen) 
			res.push(arr);
			return;
		

		for (let i = 0; i < nums.length; i++) 
			arr.push(nums[i]);
			backTrack(nums.slice(i + 1), arr.slice(), nowLen);
			arr.pop();
		
	;
	let nums = [1, 2, 4, 8];
	let len = nums.length;
	let res = [];
	let arr = [];
	for (let j = 1; j <= len; j++) backTrack(nums, arr, j);
	return res;

var c = permute();
console.table(c);
  • 全排列【可以有重复】
function permute() 
	let backTrack = (nums, arr, nowLen) => 
		if (arr.length == nowLen) 
			res.push(arr);
			return;
		

		for (let i = 0; i < nums.length; i++) 
			arr.push(nums[i]);
			backTrack(nums.filter(i => !arr.includes(i)), arr.slice(), nowLen);
			arr.pop();
		
	;
	let nums = [1, 2, 4, 8];
	let len = nums.length;
	let res = [];
	let arr = [];
	for (let j = 1; j <= len; j++) backTrack(nums, arr, j);
	return res;

var c = permute();
console.table(c);

以上是关于JS 排列组合的主要内容,如果未能解决你的问题,请参考以下文章

js 排列 组合 的一个简单例子

js多个(N)个数组的的元素组合排序算法,多维数组的排列组合或多个数组之间的排列组合

javascript 字符串所有排列组合#js

javascript 字符串所有排列组合#js

JS 排列组合

JS 排列组合