成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

創(chuàng)建和訪問數(shù)組及使用方法

LeoHsiun / 2981人閱讀

數(shù)組

數(shù)組:一組變量的集合,起一個統(tǒng)一的名字。
如何使用數(shù)組:創(chuàng)建 取值 賦值
創(chuàng)建:共四種

創(chuàng)建空數(shù)組:var 數(shù)組名=[]; var 數(shù)組名=new Array();

  何時使用:暫時不知道數(shù)據(jù)內(nèi)容,先創(chuàng)建空數(shù)組,再追加

創(chuàng)建同時初始化數(shù)組內(nèi)容:var 數(shù)組名=[值1,值2,...]

      何時使用:創(chuàng)建時,就已經(jīng)知道數(shù)組的內(nèi)容  

創(chuàng)建指定元素個數(shù)的數(shù)組: var 數(shù)組名=new Array(n);創(chuàng)建一個新數(shù)組對象,同時初始化n個空元素

創(chuàng)建同時初始化數(shù)組內(nèi)容:var 數(shù)組名=new Array(值1,值2,...)

var week=["日","一","二","三","四","五","六"];
            0   1    2   3    4    5    6
            console.log("今天星期"+week[5]);

數(shù)組中每個元素<==>一個變量: 用法和變量完全相同!

2. 取值:獲取數(shù)組中指定位置的元素內(nèi)容
   下標(biāo):數(shù)組中標(biāo)識每個元素位置的序號
       默認(rèn),自動從0開始,每個+1,到元素個數(shù)-1結(jié)束
   如何取值:var 元素的值=數(shù)組名[下標(biāo)];
3. 賦值:將新值放入指定位置的元素中保存
   如何賦值:數(shù)組名[下標(biāo)]=新值;

數(shù)組是引用類型的對象:
    數(shù)組名作為變量賦值或參數(shù)傳遞時,都是將地址值復(fù)制給對方
    后果,對方修改數(shù)組的內(nèi)容,訪問原數(shù)字名也會受影響

null: 主動釋放一個對象的引用。null本身是原始類型的值
垃圾回收器:伴隨主程序,同時運(yùn)行的后臺程序
            記錄每個對象當(dāng)前被引用的次數(shù)
          被引用的次數(shù)==0,垃圾回收器自動釋放對象內(nèi)存空間
強(qiáng)烈建議:在使用完,較大對象后,主動賦值為null,總是好習(xí)慣

獲取數(shù)組的元素個數(shù):arr.length屬性,不加圓括號
固定套路:
     獲得數(shù)組最后一個元素:arr[arr.length-1];

  向數(shù)組末尾追加一個新元素:arr[arr.length]=新值
js中的數(shù)組 vs 其他語言中的數(shù)組:3個區(qū)別:
  1. 不限制元素的數(shù)據(jù)類型
  2. 不限制數(shù)組長度
  3. js的數(shù)組越界不會出錯!
       賦值時:自動創(chuàng)建制定下標(biāo)的元素,保存新值
               length屬性,會隨最大下標(biāo)而變化
       取值時:視圖從沒有的下標(biāo)位置取值,返回undefined

遍歷數(shù)組:從第0個元素開始,依次獲取每個元素,

         對每個元素執(zhí)行相同的操作
   下標(biāo):遍歷數(shù)組時,天生的循環(huán)變量!
        

            var emps=[];
            var input="";
            while((input=prompt("輸入員工姓名"))!="exit"){
                emps[emps.length]=input;
            }
            console.log(emps);
            var arr=[2,5,4,6,7,9];
            function getMax(arr){
                var max=arr[0];
                for(var i=1;imax&&(max=arr[i]);
                }
                return max;
            }
            console.log(getMax(arr));//獲取數(shù)組中最大值
//獲取元素下標(biāo)的位置
            function indexOf(arr,elem){
                for(var i=0;i

//冒泡排序

                function myArr(arr){
                for(var i=0;iarr[j+1]){
                            var temp=arr[j];
                            arr[j]=arr[j+1];
                            arr[j+1]=temp;
                        }
                    }
                }
            }
            var arr=[12,4,9,21,43,3];
            myArr(arr);
            console.log(arr);
關(guān)聯(lián)數(shù)組

數(shù)組的API:
關(guān)聯(lián)數(shù)組(hash數(shù)組):可自定義元素下標(biāo)名稱的數(shù)組(關(guān)聯(lián)數(shù)組是字符串)
索引數(shù)組:自動從0開始分配連續(xù)不重復(fù)的序號下標(biāo)
如何創(chuàng)建關(guān)聯(lián)數(shù)組:2種方式:

  1. 先創(chuàng)建普通空數(shù)組,再追加自定義下標(biāo)的元素
     var ym=[];
     ym["sname"]="MM";
     ym["A"]=81;
     ym["B"]=53; 
     ym["C"]=89;
*關(guān)聯(lián)數(shù)組的length屬性失效*
*關(guān)聯(lián)數(shù)組中的key不能重復(fù)*
關(guān)聯(lián)(hash)數(shù)組優(yōu)勢:查找極快!和元素個數(shù)無關(guān)!

  2. 創(chuàng)建數(shù)組同時,初始化元素內(nèi)容:
     var mm={"sname":"MM","A":81,"B":53,"C":89};
               key    value
     關(guān)聯(lián)數(shù)組中保存的是多個key/value對兒
                        鍵  值

//數(shù)組去重

           var arr=[2,2,4,5,3,6,5,3];
            function myArr(arr){
                var arr1=[];
                for(var i=0;i

如何遍歷關(guān)聯(lián)數(shù)組:

   for(var key in arr){
//依次取出arr中每個key,存在變量key中
arr[key]-->獲得當(dāng)前正在遍歷的key中存儲的值
   }

## 數(shù)組API ##

數(shù)組轉(zhuǎn)換成字符串:有兩種方法

var str=arr.toString(); 默認(rèn)只能以逗號分隔每個元素。

var str=arr.join("連接符");自定義元素間的連接符
固定套路:

將字符數(shù)組,無縫拼接為單詞:
比如: var chars=["H","e","l","l","o"];

將單詞數(shù)組,拼接為句子:

將數(shù)組轉(zhuǎn)化為頁面上的列表/選擇元素:

優(yōu)化:頻繁字符串拼接,推薦使用數(shù)組的join方法作為替代
步驟:

先將要拼接的子字符串,放入一個數(shù)組中,臨時保存

遍歷結(jié)束后,一次性join成一個完整字符串

var words=["we","two","who","and","who"];
    var str=words.join(" ");
    console.log(str);//we two who and who

連接數(shù)組和獲取子數(shù)組:不修改原數(shù)組對象,返回新數(shù)組對象

   concat: var newArr=arr.concat(值1,值2,[值3,值4].....)
   slice: var subArr=arr.slice(starti[,endi+1]);
             starti: 開始的位置下標(biāo)
             endi: 獲取到的位置下標(biāo)
             ***含頭不含尾***
             slice支持倒數(shù)下標(biāo)
             省略endi,從starti一直取到結(jié)尾
            var arr=[1,4,3];
            var arr1=[22,44];
            var newArr=arr.concat(13,134,arr1);
            console.log(arr);

splice:刪除,插入,替換任意位置的任意個元素

    ***直接修改原數(shù)組 
刪除:splice(starti,n);//starti
            var arr=[1,2,4,4,5];
            var id=arr.splice(2,2);
            console.log(arr);
            console.log(id);

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/81604.html

相關(guān)文章

  • js常見對象方法

    摘要:構(gòu)造函數(shù)是是引用類型的一個新實(shí)例一創(chuàng)建實(shí)例的方法第一種是使用操作符后跟構(gòu)造函數(shù)使用對象字面量表示法與相同二訪問對象屬性從功能上看,這兩種訪問對象屬性的方法沒有任何區(qū)別。對數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),如果該函數(shù)對任一項(xiàng)返回,則返回。 對象是某個特定引用類型的實(shí)例。新對象是使用new操作符后跟一個構(gòu)造函數(shù)來創(chuàng)建的。 var person = new Object(); 構(gòu)造函數(shù)是...

    dendoink 評論0 收藏0
  • JavaScript 工作原理之十五-類繼承 Babel TypeScript 代碼轉(zhuǎn)換探秘

    摘要:使用新的易用的類定義,歸根結(jié)底也是要創(chuàng)建構(gòu)造函數(shù)和修改原型。首先,它把構(gòu)造函數(shù)當(dāng)成單獨(dú)的函數(shù)且包含類屬性集。該節(jié)點(diǎn)還儲存了指向父類的指針引用,該父類也并儲存了構(gòu)造函數(shù),屬性集和及父類引用,依次類推。 原文請查閱這里,略有刪減,本文采用知識共享署名 4.0 國際許可協(xié)議共享,BY Troland。 本系列持續(xù)更新中,Github 地址請查閱這里。 這是 JavaScript 工作原理的第...

    GeekGhc 評論0 收藏0
  • JavaScript 工作原理之十五-類繼承 Babel TypeScript 代碼轉(zhuǎn)換探秘

    摘要:使用新的易用的類定義,歸根結(jié)底也是要創(chuàng)建構(gòu)造函數(shù)和修改原型。首先,它把構(gòu)造函數(shù)當(dāng)成單獨(dú)的函數(shù)且包含類屬性集。該節(jié)點(diǎn)還儲存了指向父類的指針引用,該父類也并儲存了構(gòu)造函數(shù),屬性集和及父類引用,依次類推。 原文請查閱這里,略有刪減,本文采用知識共享署名 4.0 國際許可協(xié)議共享,BY Troland。 本系列持續(xù)更新中,Github 地址請查閱這里。 這是 JavaScript 工作原理的第...

    BigNerdCoding 評論0 收藏0
  • JavaScript 工作原理之三-內(nèi)存管理如何處理 4 類常見的內(nèi)存泄漏問題(譯)

    摘要:這是因?yàn)槲覀冊L問了數(shù)組中不存在的數(shù)組元素它超過了最后一個實(shí)際分配到內(nèi)存的數(shù)組元素字節(jié),并且有可能會讀取或者覆寫的位。包含個元素的新數(shù)組由和數(shù)組元素所組成中的內(nèi)存使用中使用分配的內(nèi)存主要指的是內(nèi)存讀寫。 原文請查閱這里,本文有進(jìn)行刪減,文后增了些經(jīng)驗(yàn)總結(jié)。 本系列持續(xù)更新中,Github 地址請查閱這里。 這是 JavaScript 工作原理的第三章。 我們將會討論日常使用中另一個被開發(fā)...

    weknow619 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<