javascript之數組操作

來源:互聯網
上載者:User
4.1、建立

var arrayObj = new Array();
var arrayObj = new Array([size]);
var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]);

樣本:

            var array11 = new Array();  //空數組            var array12 = new Array(5);  //指定長度,可越界            var array13 = new Array("a","b","c",1,2,3,true,false);  //定義並賦值            var array14=[];  //空數組,文法糖            var array15=[1,2,3,"x","y"];  //定義並賦值
4.2、訪問與修改

var testGetArrValue=arrayObj[1]; 

arrayObj[1]= "值";

            //4.2、訪問與修改            array12[8]="hello array12";  //賦值或修改            console.log(array12[8]);   //取值            //遍曆            for (var i = 0; i < array13.length; i++) {                console.log("arrayl3["+i+"]="+array13[i]);            }            //枚舉            for(var i in array15){                 console.log(i+"="+array15[i]);  //此處的i是下標            }

結果:

4.3、添加元素

將一個或多個新元素添加到數組未尾,並返回數組新長度

arrayObj. push([item1 [item2 [. . . [itemN ]]]]);

將一個或多個新元素添加到數組開始,數組中的元素自動後移,返回數組新長度

arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);

將一個或多個新元素插入到數組的指定位置,插入位置的元素自動後移,返回被刪除元素數組,deleteCount要刪除的元素個數

arrayObj.splice(insertPos,deleteCount,[item1[, item2[, . . . [,itemN]]]])

範例程式碼:

            //4.3、添加元素            var array31=[5,8];            //添加到末尾            array31.push(9);            var len=array31.push(10,11);            console.log("長度為:"+len+"——"+array31);            //添加到開始            array31.unshift(4);            var len=array31.unshift(1,2,3);            console.log("長度為:"+len+"——"+array31);            //添加到中間            var len=array31.splice(5,1,6,7);  //從第5位開始插入,刪除第5位後的1個元素,返回被刪除元素            console.log("被刪除:"+len+"——"+array31);

運行結果:

4.4、刪除

移除最後一個元素並返回該元素值

arrayObj.pop();

移除最前一個元素並返回該元素值,數組中元素自動前移

arrayObj.shift(); 

刪除從指定位置deletePos開始的指定數量deleteCount的元素,數組形式返回所移除的元素

arrayObj.splice(deletePos,deleteCount); 

樣本:

            //4.4、刪除            var array41=[1,2,3,4,5,6,7,8];            console.log("array41:"+array41);            //刪除最後一個元素,並返回            var e=array41.pop();            console.log("被刪除:"+e+"——"+array41);            //刪除首部元素,並返回            var e=array41.shift();            console.log("被刪除:"+e+"——"+array41);            //刪除指定位置與個數            var e=array41.splice(1,4);  //從索引1開始刪除4個            console.log("被刪除:"+e+"——"+array41);

 

結果:

4.5、截取和合并

以數組的形式返回數組的一部分,注意不包括 end 對應的元素,如果省略 end 將複製 start 之後的所有元素

arrayObj.slice(start, [end]); 

將多個數組(也可以是字串,或者是數組和字串的混合)串連為一個數組,返回串連好的新的數組

arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); 

樣本: 

            //4.5、截取和合并            var array51=[1,2,3,4,5,6];            var array52=[7,8,9,0,"a","b","c"];            //截取,切片            var array53=array51.slice(2);  //從第3個元素開始截取到最後            console.log("被截取:"+array53+"——"+array51);            var array54=array51.slice(1,4);  //從第3個元素開始截取到索引號為3的元素            console.log("被截取:"+array54+"——"+array51);            //合并            var array55=array51.concat(array52,["d","e"],"f","g");            console.log("合并後:"+array55);

結果:

4.6、拷貝

返回數組的拷貝數組,注意是一個新的數組,不是指向

arrayObj.slice(0); 

返回數組的拷貝數組,注意是一個新的數組,不是指向

arrayObj.concat(); 

因為數組是引用資料類型,直接賦值並沒有達到真正實現拷貝,地址引用,我們需要的是深拷貝。 4.7、排序

反轉元素(最前的排到最後、最後的排到最前),返回數組地址

arrayObj.reverse(); 

對數組元素排序,返回數組地址

arrayObj.sort(); 

arrayObj.sort(function(obj1,obj2){}); 

樣本:

            var array71=[4,5,6,1,2,3];            array71.sort();            console.log("排序後:"+array71);            var array72=[{name:"tom",age:19},{name:"jack",age:20},{name:"lucy",age:18}];            array72.sort(function(user1,user2){                return user1.age<user2.age;            });            console.log("排序後:");            for(var i in array72) console.log(array72[i].name+","+array72[i].age);

 

結果:

4.8、合并成字元

返回字串,這個字串將數組的每一個元素值串連在一起,中間用 separator 隔開。

arrayObj.join(separator); 

範例程式碼:

            //4.8、合并成字元與將字元拆分成數組            var array81=[1,3,5,7,9];            var ids=array81.join(",");            console.log(ids);                        //拆分成數組            var text="hello nodejs and angular";            var array82=text.split(" ");            console.log(array82);

運行結果:

所有代碼:

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title>數組操作</title>    </head>    <body>        <script type="text/javascript">            //4.1、建立            var array11 = new Array();  //空數組            var array12 = new Array(5);  //指定長度,可越界            var array13 = new Array("a","b","c",1,2,3,true,false);  //定義並賦值            var array14=[];  //空數組,文法糖            var array15=[1,2,3,"x","y"];  //定義並賦值                        //4.2、訪問與修改            array12[8]="hello array12";  //賦值或修改            console.log(array12[8]);   //取值            //遍曆            for (var i = 0; i < array13.length; i++) {                //console.log("arrayl3["+i+"]="+array13[i]);            }            //枚舉            for(var i in array15){                 //console.log(i+"="+array15[i]);  //此處的i是下標            }                        //4.3、添加元素            v

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.