js数组中记下6个随机数,并且要求每个数都不同,怎么样才能做到?下面是我的代码,请问哪里出错了

<script language="javascript" type="text/javascript">
var arr = [ ];

for(i=0;i<6;i++) {
arr[i] = parseInt(Math.random()*10)+1;
check();
}

function check() {
for(j=0;j<arr.length-1;j++) {
if(arr[i]==arr[j]) {
arr[i] = parseInt(Math.random()*10)+1;

j = 0;
continue;
}
}
}

function sortNumber(a,b)
{
return a - b
}

arr.sort(sortNumber);

document.write(arr);

</script>

把原来的check改成下面的就行了
function check() {
for(j=0;j<arr.length-1;) {
if(arr[i]==arr[j]) {
arr[i] = parseInt(Math.random()*10)+1;
j = 0;
continue;
}else{
++j;
}
}
}
原来的check错在for循环:j++写在for(j=0;j<arr.length-1;j++)里面,它会在设置j=0后把j改为j=1,下次循环就是j=1了,而不是想得j=0
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-26
function check() {
for(j=0;j<arr.length-1;j++) {
if(arr[i]==arr[j]) { // 这里的i 从来源不清楚。
arr[i] = parseInt(Math.random()*10)+1; // 同上

j = 0;
continue;
}
}
}追问

那要怎么修改呢?
求指点啊,跪求了!!

追答

不用另外加check()函数了

var arr = [ ];

for(i=0;i1)//数组里面已经有两个以上变量才进行比较
{
for(int j=0;j<i;j++)
{
if(arr[j]==arr[j-1])
{
arr[j] = parseInt(Math.random()*10)+1;
}
}
}
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网