字符组合排列的问题

idhgd 2019-04-10 10:03:14
假设有几个选择项.
我想选中任意1个或多个选项。会有多少种结果?
怎么通过代码列出已知全部选项所有的可能项?
例如1,2,3三个选项有以下结果,那么更多呢?
1 2 3
1 2
1 3
1
2 3
2
3
...全文
83 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
2019-04-10
  • 打赏
  • 举报
回复

var data = ['1', '2', '3', '4'], ret = [];
var count = Math.pow(2, data.length) - 1;
for(var i = 1; i <= count; i++){
	ret[i] = '';
	var n = 0, k = i;
	while(k){
		if (k & 1) ret[i] += data[n];
		k >>= 1;
		n++;
	}
}
ret.shift();
console.log(ret);
idhgd 2019-04-10
  • 打赏
  • 举报
回复
我不是想知道有多少种结果,是想列出所有的结果

引用 1 楼 囧 的回复:
2^n - 1
2019-04-10
  • 打赏
  • 举报
回复
2^n - 1

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧