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

数组值循环后拿不到

    //创建数组
    var  arr = ['*','##',"***","&&","****","##*"];
    arr[7] = "**";
    //数组长度
    var l = arr.length;
    
    //删除数组中非*的项
    
    for(var i = 0;i < l; i++){
        var val = arr[i];

        if(val != undefined) {
            var newarr = val.split('');
            var newl = newarr.length;
            for(var j = 0; j < newl; j++){
                if(newarr[j] != '*'){
                    arr.splice(i, 1);
                    break;
                }
            }
        }
    }

通过循环后拿不到arr[2]="***"和arr[4]="****",不知道什么原因?循环外面是可以拿到的。求高人指点?        


正在回答

3 回答

<!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) -->;
 //将数组内容输出,完成达到的效果。
<!--document.write(arr+"<br>")-->
for(var i=0;i<arr.length;i++){
    document.write(arr[i]+"<br>");
    }
</script>
</head>
<body>
</body>
</html>

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

你写的太罗嗦了,定义了好多无意义变量,阅读起来很麻烦,不知道你是不是想要下面这个结果。字符串的判断还真不会,不过下面这个能得到纯星号的,arr[5]"##*"得不到

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

    if(arr[i]>="*"){

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

           }

    }

</script>


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

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

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

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

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


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

举报

0/150
提交
取消

数组值循环后拿不到

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