为了账号安全,请及时绑定邮箱和手机立即绑定

for循环为什么只输出了第一个元素值,问题代码都存在什么问题呢?

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>数组</title>

<script type="text/javascript">

 //创建数组

 var arr = ["*","##","***","&&","****","##*"];

 arr[7]="**";

 //显示数组长度

 //alert(arr.length);

 

 //将数组内容输出,完成达到的效果。

/*

for(var i=0;i<arr.length-1;i++){

    if(i%2==0 && i<6){

        document.write(arr[i]+"<br/>");

        if(i==0){

            document.write(arr[7]+"<br/>");

        }

    }

}

*/

/*

以下为有问题的代码 问题:第一个for循环为何只输出了第一个元素值

*/

var myarr = new Array();

for(var i=0;i<arr.length;i++){

   

    document.write(arr[i]+"&nbsp;&nbsp;kkk");


    if(arr[i].match(new RegExp("^[*]{1,4}$")){

        myarr.add(arr[i]);

    }

    if(arr[i]==undefined){

        continue;

    }

 

}

myarr.sort();

for(var j=0;j<myarr.length;j++){

    document.write(myarr[j]+"<br/>");

}

</script>

</head>

<body>

</body>

</html>


正在回答

1 回答

for 循环要先判断不是undefined,最好这样写

for(var i=0;i<arr.length;i++){

   

    document.write(arr[i]+"&nbsp;&nbsp;kkk");


    if(arr[i]==undefined&&arr[i].match(new RegExp("^[*]{1,4}$"))){

        myarr.add(arr[i]);

    }

 

}

还有 你if 判断里面少了个括号 我开始连第一个都显示不出来  找半天

修改后显示为

*  kkk##  kkk***  kkk&&  kkk****  kkk##*  kkkundefined  kkk

因为还没学正则 所以不太懂你代码意思,但是我觉得这个问题你自己应该能搞定

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

for循环为什么只输出了第一个元素值,问题代码都存在什么问题呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信