//创建数组
    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]="****",不知道什么原因?循环外面是可以拿到的。求高人指点?        
<!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>
你写的太罗嗦了,定义了好多无意义变量,阅读起来很麻烦,不知道你是不是想要下面这个结果。字符串的判断还真不会,不过下面这个能得到纯星号的,arr[5]"##*"得不到
for(var i = 0;i <arr.length; i++){
if(arr[i]>="*"){
document.write(arr[i]+"<br />");
}
}
</script>
document.write(arr[0]+"<br>");
document.write(arr[7]+"<br>");
document.write(arr[2]+"<br>");
document.write(arr[4]+"<br>");