最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

有沒(méi)有人來(lái)解釋一下這些代碼?這節(jié)實(shí)在看不懂啊

? <script type="text/javascript">

? ? //創(chuàng)建數(shù)組

? ? var arr=["*","##","***","&&","****","##*"];

? ? arr[7]="**";

? ??

? ? //刪除數(shù)組中非*的項(xiàng)

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

? ? ? ? if(arr[i]!=undefined){

? ? ? ? ? ? var myarr=arr[i].split("");

? ? ? ? ? ? for(var j=0;j<myarr.length;j++){

? ? ? ? ? ? ? ? if(myarr[j]!='*'){

? ? ? ? ? ? ? ? ? ? arr.splice(i,1);

? ? ? ? ? ? ? ? ? ? break;

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }

? ? ? ? }

? ? }


? ? //按照字符數(shù)排序

? ? arr.sort(function(a, b){

? ? ? ? if(a.length>b.length)

? ? ? ? {

? ? ? ? ? ? return 1;

? ? ? ? }

? ? ? ? else if(a.length<b.length)

? ? ? ? {

? ? ? ? ? ? return -1;

? ? ? ? }

? ? ? ? else

? ? ? ? {

? ? ? ? ? ? return 0;

? ? ? ? }

? ? })


? ? //將數(shù)組內(nèi)容輸出,完成達(dá)到的效果。

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

? ? ? ? if(arr[i] != undefined){

? ? ? ? ? ? document.write(arr[i]+'<br />')

? ? ? ? }

? ? }

? ?</script>

正在回答

7 回答

?var arr=['*','##','***','&&','****','##*'];

?arr[7]="**";

document.write(arr[0]+"<br/>") //輸出:*

document.write(arr[7]+"<br/>")//輸出:**

document.write(arr[2]+"<br/>")//輸出:***

document.write(arr[4]+"<br/>")//輸出:****

其實(shí)這樣的代碼就可以按要求打印結(jié)果,不過(guò)樓上的各種回答加上了判斷機(jī)制,一是判斷有沒(méi)有超出數(shù)組長(zhǎng)度,二是判斷打印的結(jié)果是不是*。

0 回復(fù) 有任何疑惑可以回復(fù)我~
var?arr?=?['*','##',"***","&&","****","##*"];
?arr[7]?=?"**";
???//先除去arr數(shù)組中不是*的元素
?for(var?i=0;i<arr.length;i++){
????if(arr[i]!=undefined){//如果arr[i]不是空值(即未賦值),則使用split函數(shù)按參數(shù)將字符串切分,返回子串?dāng)?shù)組;如果參數(shù)是"",則將字符串切分成單個(gè)字母
????????var?myarr=arr[i].split("");
????????for(var?j=0;j<myarr.length;j++){//檢測(cè)myarr是不是全是*
????????????if(myarr[j]!='*'){//如果不是myarr不全是*則刪除
????????????arr.splice(i,1);
????????????i--;//由于每次刪除length的值都會(huì)減一,那么則會(huì)使每次刪除元素的后一個(gè)元素得不到檢測(cè)
????????????break;
????????????}
????????}
????}
????else
????????arr.splice(i,1);
???}
//按*得數(shù)目對(duì)arr進(jìn)行排序,使用sort函數(shù),首先實(shí)現(xiàn)比較函數(shù),以便規(guī)定排序規(guī)則;
//比較函數(shù)可以獨(dú)立書(shū)寫(xiě),也可以寫(xiě)在sort的括號(hào)中
//比較函數(shù):有兩個(gè)參數(shù)a,b;如果返回值為負(fù)數(shù),a排列在b的前面;返回0位置不變;否則排列在b后面
function?regular(a,b){
????if(a.length<b.length)
????????return?-1;
????if(a.length>b.length)
????????return?1;
????else
????????return?0;
}
//上述函數(shù)可以改寫(xiě)為下面的簡(jiǎn)寫(xiě)形式
/*function?regular(a,b){
????return?a.length-b.length;
}*/
arr.sort(regular);
//循環(huán)輸出arr
?for(var?j=0;j<arr.length;j++){
????document.write(arr[j]+"<br>");
?}

注釋得應(yīng)該可以看懂

2 回復(fù) 有任何疑惑可以回復(fù)我~

樓上正解

0 回復(fù) 有任何疑惑可以回復(fù)我~

這個(gè)代碼其實(shí)有一個(gè)bug,在刪除數(shù)組其中一個(gè)元素之后會(huì)改變數(shù)組的長(zhǎng)度,導(dǎo)致for循環(huán)出錯(cuò)

建議在arr.splice(i,1); 與break;中添加一句i--;

讓當(dāng)前的index減一

假如刪除數(shù)組index=3的位置,就再次從3開(kāi)始下一次判斷

1 回復(fù) 有任何疑惑可以回復(fù)我~

split 分割字符串返回?cái)?shù)組? splice刪除數(shù)組制定位置開(kāi)始指定長(zhǎng)度的的的元素

0 回復(fù) 有任何疑惑可以回復(fù)我~

根本沒(méi)有必要這么復(fù)雜!我的處理:

document.write(arr[0]+"<br/>") //輸出:*

document.write(arr[7]+"<br/>")//輸出:**

document.write(arr[2]+"<br/>")//輸出:***

document.write(arr[4]+"<br/>")//輸出:****

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

風(fēng)早君418 提問(wèn)者

我只是想看懂他的原理
2016-07-06 回復(fù) 有任何疑惑可以回復(fù)我~

我也是懵懵懂懂的,需要自己多看幾遍就理解了

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

有沒(méi)有人來(lái)解釋一下這些代碼?這節(jié)實(shí)在看不懂啊

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)