輸出不出來,,想問一下問題出在哪
var arr=['*','##',"***","&&","****","##*"];
?arr[7]="**";
?//顯示數(shù)組長(zhǎng)度
for(var i=0;i<arr.length;i++){
? ? var newarr = arr[i].split('');
? ? for(var j=0;j<arr[i].length;j++){
? ? ? ? if(newarr[j] != '*'){
? ? ? ? ? ? arr[i]=null;
? ? ? ? ? ? break;
? ? ? ? }
? ? }
}
function swap(a,b){
? ? var temp;
? ? temp=a;
? ? a=b;
? ? b=temp;
}
for(var k=0;k<arr.length;k++){
? ? for(var l=k; l<arr.length; l++){
? ? ? ? if(arr[k].length!=0 && arr[k].length>arr[l].length && arr[l].length!=0 ){
? ? ? ? ? ? swap(arr[k],arr[l]);
? ? ? ? }
? ? }
}
for(var m=0;m<arr.length;m++){
? ? if(arr[m].length != 0){
? ? ? ? document.write(arr[m] + '<br />')
? ? }
}
?//將數(shù)組內(nèi)容輸出,完成達(dá)到的效果。
2017-06-08
問題在于arr并不是全部有值得,arr[6]是undefined,for循環(huán)到arr[6]的時(shí)候就會(huì)報(bào)錯(cuò),因?yàn)閡ndefined沒有split這個(gè)方法
2017-06-08
var arr=['*','##',"***","&&","****","##*"];
?arr[7]="**";
?//顯示數(shù)組長(zhǎng)度
for(var i=0;i<arr.length;i++){
? ? if(!arr[i]){ arr[i]='0' }; ? ? ? ? ? ? ? ? ? ? ?//????如果arr[i]為空(undefined),就給它補(bǔ)個(gè)'0'
? ? var newarr = arr[i].split('');
? ? for(var j=0;j<arr[i].length;j++){????????//判斷如果arr[i]中含有‘*'以外的符號(hào),則將它賦為‘0’
? ? ? ? if(newarr[j] != '*'){
? ? ? ? ? ? arr[i]='0';
? ? ? ? ? ? break;
? ? ? ? }
? ? }
}
function st(a,b){??????????????????????????????
? ? return a.length-b.length;
}
arr.sort(st);????????????????????????????????????????? //排序
for(var m=0;m<arr.length;m++){????????????//輸出排序好后不是‘0’的所有項(xiàng)
? ? if(arr[m] != 0){
? ? ? ? document.write(arr[m]+'<br />')
? ? }
}
2017-06-08
你可以看看我之前寫的,如果看不懂,也沒關(guān)系的,繼續(xù)往后面學(xué),過一段時(shí)間再回來看就行
2017-06-07
2017-06-06
你想要這組代碼輸出什么?