Javascript 數組使用方法總結

來源:互聯網
上載者:User

今天看到一篇文章,JS中數組Array的用法{轉載} http://www.blogjava.net/zks518/archive/2011/06/24/352948.html

寫的很好,從頭到尾做了一遍,push, pop, shift, unshift, splice, slice, sort, join基本上就掌握了。

具體代碼如下:

<script type="text/javascript">    //push寫入,pop彈出    var arr = new Array();    arr[0] = "aaa";    arr[1] = "bbb";    arr[2] = "ccc";    arr.push("ddd");    alert(arr);    arr.pop()    alert(arr);    //shift是刪除第一項,並返回刪除元素的值;如果數組為空白則返回undefined    var a = [9, 2, 3, 4, 5];    var b = a.shift(); //a:[2,3,4,5]   b:1    alert(a);    alert(b);    //unshift:將參數添加到原數組開頭,並返回數組的長度    var a = [1,2,3,4,5];    var b = a.unshift(-2,-1, 0); //a:[-2,-1,1,2,3,4,5]   b:7    alert(a);    alert(b);    //pop:刪除原數組最後一項,並返回刪除元素的值;如果數組為空白則返回undefined    var a = [1,2,3,4,5];    var b = a.pop(); //a:[1,2,3,4]   b:5//不用返回的話直接調用就可以了    //push:將參數添加到原數組末尾,並返回數組的長度    var a = [1,2,3,4,5];    var b = a.push(6,7); //a:[1,2,3,4,5,6,7]   b:7    //concat:返回一個新數組,是將參數添加到原數組中構成的    var a = [1,2,3,4,5];    var b = a.concat(6,7); //a:[1,2,3,4,5]   b:[1,2,3,4,5,6,7]    alert(a);    alert(b);    //splice(start,deleteCount,val1,val2,...):從start位置開始刪除deleteCount項,並從該位置起插入val1,val2,...    //傳回值是被刪除的項    var a = [1, 2, 3, 4, 5];    var b = a.splice(2, 3, 7, 8, 9); //a:[1,2,7,8,9,5]   b:[3,4]    alert(a);    alert(b);    //splice還具有先刪除後添加的功能,即先刪除幾個元素,然後在刪除的位置再添加若干元素,刪除與添加的元素的個數沒有必須相等,這時侯     //deleteCount也是要用到的。    var a = [1,2,3,4,5];    var b = a.splice(2,2,7,8,9); //a:[1,2,7,8,9,5]   b:[3,4]    var b = a.splice(0,1); //同shift    a.splice(0,0,-2,-1); var b = a.length;//同unshift    var b = a.splice(a.length-1,1);//同pop    a.splice(a.length,0,6,7); var b = a.length; //同push    //reverse:將數組反序    var a = [1,2,3,4,5];    var b = a.reverse(); //a:[5,4,3,2,1]   b:[5,4,3,2,1]    alert(b);    //sort(orderfunction):按指定的參數對數組進行排序    var a = [11,2,3,4,5];    var b = a.sort(); //a:[1,2,3,4,5]   b:[1,2,3,4,5]    alert(b);    var c = a.sort(compare); //a:[1,2,3,4,5]   b:[1,2,3,4,5]    alert(c);    function compare(p1, p2) {        var iN1 = parseInt(p1);        var iN2 = parseInt(p2);        if (iN1 < iN2)            return -1;        else if (iN1 > iN2)            return 1;        else            return 0;    }    //slice(start,end):返回從原數組中指定開始下標到結束下標之間的項組成的新數組    var a = [1,2,3,4,5];    var b = a.slice(2, 5); //a:[1,2,3,4,5]   b:[3,4,5]    alert(b);    //join(separator):將數組的元素組起一個字串,以separator為分隔字元,省略的話則用預設用逗號為分隔字元    var a = [1,2,3,4,5];    var b = a.join("|"); //a:[1,2,3,4,5]   b:"1|2|3|4|5"    alert(b);    //再給個利用數組類比javaStringBuffer處理字串的方法:    /**    * 字串處理函數    */    function StringBuffer() {        var arr = new Array;        this.append = function (str) {            arr[arr.length] = str;        };        this.toString = function () {            return arr.join(""); //把append進來的數組ping成一個字串        };    }    var a = new StringBuffer();    a.append("中國");    a.append("美國");    alert(a.toString());    //今天在應用中突然發現join是一種把數群組轉換成字串的好方法,故封裝成對象使用了:    /**    *把數群組轉換成特定符號分割的字串    */    function arrayToString(arr,separator) {    if(!separator) separator = "";//separator為null則預設為空白        return arr.join(separator);    }    var a = [1, 2, 3, 4, 5];    alert(arrayToString(a,"*"));    /**    * 尋找數組包含的字串    */    function arrayFindString(arr,string) {    var str = arr.join("");        return str.indexOf(string);    }    var a = [1, 2, 3, 4, 5];    alert(arrayFindString(a, "7"));</script>

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.