//创建数组
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>");