| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4949 人关注过本帖
标题:[求助]分组,制作比赛对阵表的问题
只看楼主 加入收藏
lishengzhe1
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-4-10
收藏
 问题点数:0 回复次数:4 
[求助]分组,制作比赛对阵表的问题
新人求教,最近刚学js不长时间,想请教下如何能做到让两组数两两匹配在一起,就像是乒乓团体比赛那样,团体1的选手1匹配团体2的选手,制作出所有可能的对阵表
请大神求解啊!
搜索更多相关主题的帖子: 乒乓 制作 如何 
2016-04-10 20:08
lishengzhe1
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-4-10
收藏
得分:0 
哎 有没有大神相助啊?
就好比有两个数组["a","b","c"]["x","y","z"]
a匹配x,b就去匹配y和z中的一个 , c就匹配剩下的那个。
像这样算出所有的可能 有没有大神可以帮忙啊
2016-04-10 20:18
leeqihero
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:122
专家分:135
注 册:2016-3-24
收藏
得分:0 
<html>
<head>
<meta charset="utf-8"/>
<script>
var 对阵={
    交换数组数据:function (数组,i,j){
        if(i!=j){
            var 中间数=数组[i];
            数组[i]=数组[j];
            数组[j]=中间数;
        }
    },
    全排列:function (数组){
        (function 递归函数(n){ //为第n个位置选择元素
            for(var i=n;i<数组.length;i++){
                对阵.交换数组数据(数组,i,n);
                if(n+1<数组.length-1) 递归函数(n+1); //判断数组中剩余的待全排列的元素是否大于1个,从第n+1个下标进行全排列
                else 对阵.对阵情况+="<h1>"+数组+"</h1><br />"; //显示一组结果
                对阵.交换数组数据(数组,i,n);
            }
        })(0);
    },
    我方:[],
    对方:[],
    计算:function (){
        this.我方=document.getElementById("我方").value.split(",");
        this.对方=document.getElementById("对方").value.split(",");
        this.对阵情况="<h1>"+this.我方+"</h1><br /><hr />";
        this.全排列(对阵.对方);
        document.getElementById("显示").innerHTML=this.对阵情况;
    },
    对阵情况:""
}
</script>
</head>
<body>
我方<input type="text" id="我方" /><br />
对方<input type="text" id="对方" /><br />
<input type="button" value="计算" onclick="对阵.计算()" />
<div id="显示"></div>
</body>
</html>
2016-04-28 13:25
leeqihero
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:122
专家分:135
注 册:2016-3-24
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
2016-04-28 13:30
leeqihero
Rank: 3Rank: 3
等 级:论坛游侠
威 望:7
帖 子:122
专家分:135
注 册:2016-3-24
收藏
得分:0 
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
</body>
<script>
Array.prototype.交换=function(i,j){
    if(i!=j){
        var x=this[i];
        this[i]=this[j];
        this[j]=x;
    }
    return this;
}
Array.prototype.全排列=function(){
    var aa="";
    var that=this;
    (function 递归函数(n){
        for(var i=n;i<that.length;i++){
            that.交换(i,n);
            if(n+1<that.length-1) 递归函数(n+1);
            else aa+="<p>"+that+"</p>";
            that.交换(i,n);
        }
    })(0);
    return aa;
};
document.body.innerHTML=[1,2,3].全排列();
</script>
</html>
2016-06-22 17:53
快速回复:[求助]分组,制作比赛对阵表的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016908 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved