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]+" 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>
2018-06-18
for 循環要先判斷不是undefined,最好這樣寫
for(var i=0;i<arr.length;i++){
? ?
? ? document.write(arr[i]+" kkk");
? ? if(arr[i]==undefined&&arr[i].match(new RegExp("^[*]{1,4}$"))){
? ? ? ? myarr.add(arr[i]);
? ? }
?
}
還有 你if 判斷里面少了個括號 我開始連第一個都顯示不出來 ?找半天
修改后顯示為
*??kkk##??kkk***??kkk&&??kkk****??kkk##*??kkkundefined??kkk
因為還沒學正則 所以不太懂你代碼意思,但是我覺得這個問題你自己應該能搞定