js的组合实现,支持"二维"
来源:互联网 发布:python strip 换行 编辑:程序博客网 时间:2024/06/07 00:30
<script>function combination(array,debug) {/*c 6 a d 71 b e 4 8------------这样结构得到所有组合:1,一个组合的元素最小可是1,最大是列的个数,如示例就是52,每列的每一个元素可以与其它列的任意其中一个元素组合,但是一个列元素只允许出现在一个组合中一次*/var store = [];var combinationOther = function(array, preObj) {//使用前缀与每行中的列任意一个组合var cell;while (cell=array.shift() ) {//得到每列if (''===cell) continue;//空列if ('object' !== typeof cell) cell = [cell];//必须是数组if (!cell.length) continue;//空列for (var cr=0;cr<cell.length;cr++) {//列中的每个数据var cv = cell[cr];//列中当前数if (''===cv) continue;//不处理空串var str = preObj.concat(cv);str=str.sort().reverse();//按大-小排序store.push( str );//把当前组合放入if (array.length) {//后面还有列combinationOther(array.slice(),str.slice());}}}};combinationOther(array,[]);debug&&console.log( '顺序结果:\n',store.join('\n') );store.sort(function(x,y){//按个数排序,多在前var xl='object'===typeof x ?x.length:1;var yl='object'===typeof y ?y.length:1;var r = 0;if (xl<yl) r=1;//倒过来else if (xl>yl) r = -1;//倒过来else if(xl===yl) {if (x<y) r=1;else if (x>y)r=-1;else r=0;}return r;//注意倒过来了});debug&&console.log( '按个数大小排序结果:\n',store.join('\n') );return store;}var data = [1,2,3];combination(data,1);var data = [1,2,3,['a','b','c'],4,['g','lllll','pppppp','uuuuu']];combination(data,1);</script>
结果
顺序结果:
1
2,1
3,2,1
3,1
2
3,2
3 s.htm:33
按个数大小排序结果:
3,2,1
3,2
3,1
2,1
3
2
1 s.htm:49
顺序结果:
1
2,1
3,2,1
a,3,2,1
a,4,3,2,1
g,a,4,3,2,1
lllll,a,4,3,2,1
pppppp,a,4,3,2,1
uuuuu,a,4,3,2,1
g,a,3,2,1
lllll,a,3,2,1
pppppp,a,3,2,1
uuuuu,a,3,2,1
b,3,2,1
b,4,3,2,1
g,b,4,3,2,1
lllll,b,4,3,2,1
pppppp,b,4,3,2,1
uuuuu,b,4,3,2,1
g,b,3,2,1
lllll,b,3,2,1
pppppp,b,3,2,1
uuuuu,b,3,2,1
c,3,2,1
c,4,3,2,1
g,c,4,3,2,1
lllll,c,4,3,2,1
pppppp,c,4,3,2,1
uuuuu,c,4,3,2,1
g,c,3,2,1
lllll,c,3,2,1
pppppp,c,3,2,1
uuuuu,c,3,2,1
4,3,2,1
g,4,3,2,1
lllll,4,3,2,1
pppppp,4,3,2,1
uuuuu,4,3,2,1
g,3,2,1
lllll,3,2,1
pppppp,3,2,1
uuuuu,3,2,1
a,2,1
a,4,2,1
g,a,4,2,1
lllll,a,4,2,1
pppppp,a,4,2,1
uuuuu,a,4,2,1
g,a,2,1
lllll,a,2,1
pppppp,a,2,1
uuuuu,a,2,1
b,2,1
b,4,2,1
g,b,4,2,1
lllll,b,4,2,1
pppppp,b,4,2,1
uuuuu,b,4,2,1
g,b,2,1
lllll,b,2,1
pppppp,b,2,1
uuuuu,b,2,1
c,2,1
c,4,2,1
g,c,4,2,1
lllll,c,4,2,1
pppppp,c,4,2,1
uuuuu,c,4,2,1
g,c,2,1
lllll,c,2,1
pppppp,c,2,1
uuuuu,c,2,1
4,2,1
g,4,2,1
lllll,4,2,1
pppppp,4,2,1
uuuuu,4,2,1
g,2,1
lllll,2,1
pppppp,2,1
uuuuu,2,1
3,1
a,3,1
a,4,3,1
g,a,4,3,1
lllll,a,4,3,1
pppppp,a,4,3,1
uuuuu,a,4,3,1
g,a,3,1
lllll,a,3,1
pppppp,a,3,1
uuuuu,a,3,1
b,3,1
b,4,3,1
g,b,4,3,1
lllll,b,4,3,1
pppppp,b,4,3,1
uuuuu,b,4,3,1
g,b,3,1
lllll,b,3,1
pppppp,b,3,1
uuuuu,b,3,1
c,3,1
c,4,3,1
g,c,4,3,1
lllll,c,4,3,1
pppppp,c,4,3,1
uuuuu,c,4,3,1
g,c,3,1
lllll,c,3,1
pppppp,c,3,1
uuuuu,c,3,1
4,3,1
g,4,3,1
lllll,4,3,1
pppppp,4,3,1
uuuuu,4,3,1
g,3,1
lllll,3,1
pppppp,3,1
uuuuu,3,1
a,1
a,4,1
g,a,4,1
lllll,a,4,1
pppppp,a,4,1
uuuuu,a,4,1
g,a,1
lllll,a,1
pppppp,a,1
uuuuu,a,1
b,1
b,4,1
g,b,4,1
lllll,b,4,1
pppppp,b,4,1
uuuuu,b,4,1
g,b,1
lllll,b,1
pppppp,b,1
uuuuu,b,1
c,1
c,4,1
g,c,4,1
lllll,c,4,1
pppppp,c,4,1
uuuuu,c,4,1
g,c,1
lllll,c,1
pppppp,c,1
uuuuu,c,1
4,1
g,4,1
lllll,4,1
pppppp,4,1
uuuuu,4,1
g,1
lllll,1
pppppp,1
uuuuu,1
2
3,2
a,3,2
a,4,3,2
g,a,4,3,2
lllll,a,4,3,2
pppppp,a,4,3,2
uuuuu,a,4,3,2
g,a,3,2
lllll,a,3,2
pppppp,a,3,2
uuuuu,a,3,2
b,3,2
b,4,3,2
g,b,4,3,2
lllll,b,4,3,2
pppppp,b,4,3,2
uuuuu,b,4,3,2
g,b,3,2
lllll,b,3,2
pppppp,b,3,2
uuuuu,b,3,2
c,3,2
c,4,3,2
g,c,4,3,2
lllll,c,4,3,2
pppppp,c,4,3,2
uuuuu,c,4,3,2
g,c,3,2
lllll,c,3,2
pppppp,c,3,2
uuuuu,c,3,2
4,3,2
g,4,3,2
lllll,4,3,2
pppppp,4,3,2
uuuuu,4,3,2
g,3,2
lllll,3,2
pppppp,3,2
uuuuu,3,2
a,2
a,4,2
g,a,4,2
lllll,a,4,2
pppppp,a,4,2
uuuuu,a,4,2
g,a,2
lllll,a,2
pppppp,a,2
uuuuu,a,2
b,2
b,4,2
g,b,4,2
lllll,b,4,2
pppppp,b,4,2
uuuuu,b,4,2
g,b,2
lllll,b,2
pppppp,b,2
uuuuu,b,2
c,2
c,4,2
g,c,4,2
lllll,c,4,2
pppppp,c,4,2
uuuuu,c,4,2
g,c,2
lllll,c,2
pppppp,c,2
uuuuu,c,2
4,2
g,4,2
lllll,4,2
pppppp,4,2
uuuuu,4,2
g,2
lllll,2
pppppp,2
uuuuu,2
3
a,3
a,4,3
g,a,4,3
lllll,a,4,3
pppppp,a,4,3
uuuuu,a,4,3
g,a,3
lllll,a,3
pppppp,a,3
uuuuu,a,3
b,3
b,4,3
g,b,4,3
lllll,b,4,3
pppppp,b,4,3
uuuuu,b,4,3
g,b,3
lllll,b,3
pppppp,b,3
uuuuu,b,3
c,3
c,4,3
g,c,4,3
lllll,c,4,3
pppppp,c,4,3
uuuuu,c,4,3
g,c,3
lllll,c,3
pppppp,c,3
uuuuu,c,3
4,3
g,4,3
lllll,4,3
pppppp,4,3
uuuuu,4,3
g,3
lllll,3
pppppp,3
uuuuu,3
a
a,4
g,a,4
lllll,a,4
pppppp,a,4
uuuuu,a,4
g,a
lllll,a
pppppp,a
uuuuu,a
b
b,4
g,b,4
lllll,b,4
pppppp,b,4
uuuuu,b,4
g,b
lllll,b
pppppp,b
uuuuu,b
c
c,4
g,c,4
lllll,c,4
pppppp,c,4
uuuuu,c,4
g,c
lllll,c
pppppp,c
uuuuu,c
4
g,4
lllll,4
pppppp,4
uuuuu,4
g
lllll
pppppp
uuuuu s.htm:33
按个数大小排序结果:
uuuuu,c,4,3,2,1
uuuuu,b,4,3,2,1
uuuuu,a,4,3,2,1
pppppp,c,4,3,2,1
pppppp,b,4,3,2,1
pppppp,a,4,3,2,1
lllll,c,4,3,2,1
lllll,b,4,3,2,1
lllll,a,4,3,2,1
g,c,4,3,2,1
g,b,4,3,2,1
g,a,4,3,2,1
uuuuu,c,4,3,2
uuuuu,c,4,3,1
uuuuu,c,4,2,1
uuuuu,c,3,2,1
uuuuu,b,4,3,2
uuuuu,b,4,3,1
uuuuu,b,4,2,1
uuuuu,b,3,2,1
uuuuu,a,4,3,2
uuuuu,a,4,3,1
uuuuu,a,4,2,1
uuuuu,a,3,2,1
uuuuu,4,3,2,1
pppppp,c,4,3,2
pppppp,c,4,3,1
pppppp,c,4,2,1
pppppp,c,3,2,1
pppppp,b,4,3,2
pppppp,b,4,3,1
pppppp,b,4,2,1
pppppp,b,3,2,1
pppppp,a,4,3,2
pppppp,a,4,3,1
pppppp,a,4,2,1
pppppp,a,3,2,1
pppppp,4,3,2,1
lllll,c,4,3,2
lllll,c,4,3,1
lllll,c,4,2,1
lllll,c,3,2,1
lllll,b,4,3,2
lllll,b,4,3,1
lllll,b,4,2,1
lllll,b,3,2,1
lllll,a,4,3,2
lllll,a,4,3,1
lllll,a,4,2,1
lllll,a,3,2,1
lllll,4,3,2,1
g,c,4,3,2
g,c,4,3,1
g,c,4,2,1
g,c,3,2,1
g,b,4,3,2
g,b,4,3,1
g,b,4,2,1
g,b,3,2,1
g,a,4,3,2
g,a,4,3,1
g,a,4,2,1
g,a,3,2,1
g,4,3,2,1
c,4,3,2,1
b,4,3,2,1
a,4,3,2,1
uuuuu,c,4,3
uuuuu,c,4,2
uuuuu,c,4,1
uuuuu,c,3,2
uuuuu,c,3,1
uuuuu,c,2,1
uuuuu,b,4,3
uuuuu,b,4,2
uuuuu,b,4,1
uuuuu,b,3,2
uuuuu,b,3,1
uuuuu,b,2,1
uuuuu,a,4,3
uuuuu,a,4,2
uuuuu,a,4,1
uuuuu,a,3,2
uuuuu,a,3,1
uuuuu,a,2,1
uuuuu,4,3,2
uuuuu,4,3,1
uuuuu,4,2,1
uuuuu,3,2,1
pppppp,c,4,3
pppppp,c,4,2
pppppp,c,4,1
pppppp,c,3,2
pppppp,c,3,1
pppppp,c,2,1
pppppp,b,4,3
pppppp,b,4,2
pppppp,b,4,1
pppppp,b,3,2
pppppp,b,3,1
pppppp,b,2,1
pppppp,a,4,3
pppppp,a,4,2
pppppp,a,4,1
pppppp,a,3,2
pppppp,a,3,1
pppppp,a,2,1
pppppp,4,3,2
pppppp,4,3,1
pppppp,4,2,1
pppppp,3,2,1
lllll,c,4,3
lllll,c,4,2
lllll,c,4,1
lllll,c,3,2
lllll,c,3,1
lllll,c,2,1
lllll,b,4,3
lllll,b,4,2
lllll,b,4,1
lllll,b,3,2
lllll,b,3,1
lllll,b,2,1
lllll,a,4,3
lllll,a,4,2
lllll,a,4,1
lllll,a,3,2
lllll,a,3,1
lllll,a,2,1
lllll,4,3,2
lllll,4,3,1
lllll,4,2,1
lllll,3,2,1
g,c,4,3
g,c,4,2
g,c,4,1
g,c,3,2
g,c,3,1
g,c,2,1
g,b,4,3
g,b,4,2
g,b,4,1
g,b,3,2
g,b,3,1
g,b,2,1
g,a,4,3
g,a,4,2
g,a,4,1
g,a,3,2
g,a,3,1
g,a,2,1
g,4,3,2
g,4,3,1
g,4,2,1
g,3,2,1
c,4,3,2
c,4,3,1
c,4,2,1
c,3,2,1
b,4,3,2
b,4,3,1
b,4,2,1
b,3,2,1
a,4,3,2
a,4,3,1
a,4,2,1
a,3,2,1
4,3,2,1
uuuuu,c,4
uuuuu,c,3
uuuuu,c,2
uuuuu,c,1
uuuuu,b,4
uuuuu,b,3
uuuuu,b,2
uuuuu,b,1
uuuuu,a,4
uuuuu,a,3
uuuuu,a,2
uuuuu,a,1
uuuuu,4,3
uuuuu,4,2
uuuuu,4,1
uuuuu,3,2
uuuuu,3,1
uuuuu,2,1
pppppp,c,4
pppppp,c,3
pppppp,c,2
pppppp,c,1
pppppp,b,4
pppppp,b,3
pppppp,b,2
pppppp,b,1
pppppp,a,4
pppppp,a,3
pppppp,a,2
pppppp,a,1
pppppp,4,3
pppppp,4,2
pppppp,4,1
pppppp,3,2
pppppp,3,1
pppppp,2,1
lllll,c,4
lllll,c,3
lllll,c,2
lllll,c,1
lllll,b,4
lllll,b,3
lllll,b,2
lllll,b,1
lllll,a,4
lllll,a,3
lllll,a,2
lllll,a,1
lllll,4,3
lllll,4,2
lllll,4,1
lllll,3,2
lllll,3,1
lllll,2,1
g,c,4
g,c,3
g,c,2
g,c,1
g,b,4
g,b,3
g,b,2
g,b,1
g,a,4
g,a,3
g,a,2
g,a,1
g,4,3
g,4,2
g,4,1
g,3,2
g,3,1
g,2,1
c,4,3
c,4,2
c,4,1
c,3,2
c,3,1
c,2,1
b,4,3
b,4,2
b,4,1
b,3,2
b,3,1
b,2,1
a,4,3
a,4,2
a,4,1
a,3,2
a,3,1
a,2,1
4,3,2
4,3,1
4,2,1
3,2,1
uuuuu,c
uuuuu,b
uuuuu,a
uuuuu,4
uuuuu,3
uuuuu,2
uuuuu,1
pppppp,c
pppppp,b
pppppp,a
pppppp,4
pppppp,3
pppppp,2
pppppp,1
lllll,c
lllll,b
lllll,a
lllll,4
lllll,3
lllll,2
lllll,1
g,c
g,b
g,a
g,4
g,3
g,2
g,1
c,4
c,3
c,2
c,1
b,4
b,3
b,2
b,1
a,4
a,3
a,2
a,1
4,3
4,2
4,1
3,2
3,1
2,1
uuuuu
pppppp
lllll
g
c
b
a
4
3
2
1
0 0
- js的组合实现,支持"二维"
- js 二维数组实现
- js:onload支持多次添加的实现
- js的二维数组
- js的二维数组
- JS的二维数组
- js实现简单的一维数组变成二维数组
- 【每天算法3】:用java语言实现,二维Vector的排序组合
- 二维数组的自定义组合排序
- js的组合继承
- 【JS】用js实现二维数组里面的元素排列组合一个小demo
- JS 二维数据的定义
- JS二维数组的定义
- JS二维数组的定义
- js 二维数组的排序
- js 实现支持crtl与shift键的行多选
- js 字符串的trim实现,支持firefox/IE
- js实现下拉框支持添加和删除的方式
- Git:代码冲突常见解决方法
- 一个页面多个页签的实现(css样式)
- 水晶报表直接打印 不用转为PDF打印
- linux下jsoncpp的编译安装使用
- 排序算法 优化冒泡排序算法
- js的组合实现,支持"二维"
- HashMap和Hashtable的区别
- 内存泄露和内存溢出
- 理解oc中的一些概念
- 2014年2月24日 查看Matlab函数源代码
- 微信公众平台+Java+新浪云(SinaAppEngine)快速接入方法
- 大学生创业学习软件---学硕创业实训教学软件
- 巧用google scholar查询课题最前沿论文
- Java异常处理机制