for循环去重排序
2017-10-28 16:57 澄序源 阅读(2180) 评论(0) 编辑 收藏 举报<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>去重,排序</title>
</head>
<body>
<div style="width:200px; height:200px; " onclick="dj()">
1,5,4,47,8,95,6,3,2,10,1,4,7,5,3,6
1,22,33,44,6,8,9,7,55,8,7,4,6,9
</div>
</body>
</html>
<script>
function dj()
{
var r=prompt("数组")
var q=""
var a=[];
for(var k=0;k<=r.length+1;k++)
{
if(r[k]!=",")
{
q=q+r[k];
}
if(r[k]==",")
{
a.push(q);
q="";
}
}
var c=[];//先定义一个空数组
var h;//定义一个中间值下面排序使用
for(var i=0;i<a.length;i++) //去重循环
{
var b=0;//声明变量b 放在第一个循环里,要循环一次重新声明一次b为0,否则b变为1不会重置
for(var e=0;e<a.length;e++)
{
if(a[i]==c[e])//拿a的第i个对比c的所有,并依次循环
{
b=1;//如果有相等的走b=1;
break;
}
}
if(b==0)//如果上面有相等的会变为1不走本条,不会把值放入数组c中;
{
c.push(a[i]);//如果不相等就把数值放入数组c中;
//给c的最后添加数组a中的第i个
}
}
for(var f=0;f<c.length-1;f++)//冒泡排序
{
for(var g=0;g<c.length-1;g++)
{
if(parseInt(c[g])>parseInt(c[g+1]))//判断第一个数和第二个数谁大;并依次循环对比;
{
h=c[g+1];//把前面的数存入中间值中
c[g+1]=c[g];//把后面的值付给前面的位置
c[g]=h;//再把中间值赋予后面的位置
}
}
}
alert(c)//输出去重并排序后的值;
}
</script>