js 排序显示问题

xinren369 2015-07-17 08:13:05
<div class="data"></div>
<script type="text/javascript" src="js/jquery.js"></script>
<script>
var i=0;
var ii;
var o=0;
var d=[];
var arr=['a','b','c',d,'end'];
$(function(){
newdomain(3,arr);
})
function newdomain(n,arr){
var l=arr.length-1;//字符数
if(i==l){
d[n-1]=arr[0];
i=1;
}else{
d[n-1]=arr[i];
i++;
}
for(var m=0;m<n-1;m++){
d[m]=getd(d[m],m,n,arr,l);
}
$.post("ajax/ip2d.php",{ips:d},function(data){
$('.data').html(data);
newdomain(n,arr)
});
}
function getd(v,m,n,arr,l){
if(!v){
return arr[0];
}
if(d[n-1-m]==arr[l]){
v=arr[0];
}else{
v=arr[o++];
}
return v;
}
</script>

希望能逐个显示出出
aaa aab aac aad
aba abb abc abd
aca acb acc acd
baa bab bac bad
bba bbb bbc bbd
……
ddd
...全文
160 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinren369 2015-07-18
  • 打赏
  • 举报
回复
改良为以下代码 但还是有问题 <script src="js/jquery.js" type="text/javascript"></script> <body> <div class="data"></div> <script type="text/javascript"> var arr=['a','b','c','d','e','f']; //求26个字母N位的任意组合 var d=['a','a','a']; var count=[0,0,0]; //组合位数不确定,不能用FOR循环 $(function(){ var len=arr.length; getdomain(3,arr,len); }); function getdomain(n,arr,len){ for(var i=0;i<n;i++){ getstr(i,len); } $.post("ajax/ip2d.php",{ips:d},function(data){ getdomain(n,arr,len); $('.data').html(data); }); } function getstr(m,len){ if(count[m]>len-1){ //归0 d[m]=arr[0]; count[m]=0; }else{ d[m]=arr[count[m]]; if(d[m+1]==arr[len]){ //现在不成功,问题可能在这里 count[m]++; } } } </script> </body>
天际的海浪 2015-07-18
  • 打赏
  • 举报
回复

var arr=['a','b','c','d'];
function gn(n,t)
{
	if (t>=arr.length)
		return n;
	var ns = [];
	for(var i=0; i<n.length; i++)
		for(var u=0; u<arr.length; u++)
			ns.push(n[i]+arr[u]);
	return gn(ns,t+1);
}
alert(gn([''],0));


xinren369 2015-07-18
  • 打赏
  • 举报
回复
引用 2 楼 net_lover 的回复:
直接循环下就可以了
var arr=['a','b','c','d'];
var d = []
$(function(){
x="";
for(i=0;i<arr.length;i++){
for(m=0;m<arr.length;m++){
for(n=0;n<arr.length;n++){
d.push(arr[i]+arr[m]+arr[n]);
x+=arr[i]+arr[m]+arr[n] +" ";
}
x+="<br>";
}

}
$(".data").append(x);
alert(d)
});
上面写的很正确 不过,我搞的组合位数不固定,有可能三位,也有可能10位,并且基数(a,b,c,d……)这些也不固定 当量大时,FOR就不行了,所以用ajax这种方式,能帮我加工一下吗?
孟子E章 2015-07-18
  • 打赏
  • 举报
回复
直接循环下就可以了
var arr=['a','b','c','d'];
var d = []
$(function(){
x="";
for(i=0;i<arr.length;i++){
for(m=0;m<arr.length;m++){
for(n=0;n<arr.length;n++){
d.push(arr[i]+arr[m]+arr[n]);
x+=arr[i]+arr[m]+arr[n] +" ";
}
x+="<br>";
}

}
$(".data").append(x);
alert(d)
});
似梦飞花 2015-07-18
  • 打赏
  • 举报
回复
sort 自己查下 没看出你的代码和排序有什么关系阿

87,884

社区成员

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

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