<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>