JavaScript核心語法學習部分(六)
阿新 • • 發佈:2017-09-05
arr 棧操作 push 自動 bsp () 聲明 scrip 傳遞
arr.sort():默認安字符串升序排列;
自定義排序:2步:首先定義比較器函數!其次將比較器函數傳遞給sort方法!
什麽是比較器?定義任意兩值比較策略的方法
js中方法也是一個比較器,方法名就是指向方法對象的變量名!
function compare(a,b){return a-b;}//可以定義在使用前後的任何位置,原因是var聲明和function聲明自動提前!
相當於var compare=new Function("a","b","return a-b");//必須定義在使用之前,原因僅聲明提前,賦值不提前!
arr.sort(compare);將方法作為對象傳遞是,僅使用方法名,後不加圓括號。
降序:顛倒比較結果,可以導致升序變降序。
升序:function compare(a,b){return a-b;}
顛倒:function compare(a,b){return -(a-b);}
棧和隊列:
什麽是棧?先進的後出,棧其實就是數組,只不過用一對兒方法模擬了棧的操作!
結尾入棧出棧:元素下標始終不變
入棧:arr.push() 出棧:var last=arr.pop();
開頭入棧出棧:所有元素下標歲入棧出棧操作而變化
第一個元素[0],始終最新
只能從數組一端出棧,入棧。另一端封閉!
JavaScript核心語法學習部分(六)