欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript入門(mén)之?dāng)?shù)組[新手必看]

 更新時(shí)間:2016年11月21日 16:38:30   作者:逆心  
本文介紹了javascript 數(shù)組的定義和數(shù)組元素的操作,ECMAScript中的數(shù)組方法...希望對(duì)大家有所幫助

一、定義數(shù)組。

    定義數(shù)組有兩個(gè)方法:

    1、var arr1 = [];  //定義一個(gè)空數(shù)組

    2、var arr2 = [1,2,3,"str1","str2"];  //定義一個(gè)有5個(gè)元素的數(shù)組。

    3、var arr3 = new Array(3);  //定義一個(gè)空數(shù)組

    4、var arr4 = new Array(1,2,3,"str1","str2");  //定義一個(gè)指定長(zhǎng)度為5的數(shù)組。

二、數(shù)組元素的讀和寫(xiě)。

    arr[0];    //讀取第一個(gè)數(shù)組元素

    arr[0] = "str1";  //改變數(shù)組第一個(gè)元素的值。

三、稀疏數(shù)組。

    稀疏數(shù)組表示從0 開(kāi)始不連續(xù)索引的數(shù)組。通常數(shù)組的length代表元素中元素個(gè)數(shù),如果數(shù)組是稀疏的,length屬性值將大于元素的個(gè)數(shù)。

    in 操作符用于檢測(cè)元素在某位置是否存在元素,注意undefined也算存在。

    如:var a1 = [,,];

      var a2 = new Array(3);

      0 in a1;  //true,因?yàn)閍[0]有undefined元素

      0 in a2;  //false,a2在索引0處沒(méi)有元素

四、數(shù)組長(zhǎng)度

    length屬性用于標(biāo)志數(shù)組的長(zhǎng)度

    如:var arr = [1,2,3,4,5];

      arr.length;  //5 arr數(shù)組有5個(gè)元素

五、數(shù)組元素的添加和刪除

    push:  //在數(shù)組的末尾添加一個(gè)元素

    var arr = [1,2,3];

    arr.push(4,5);    //arr變?yōu)閇1,2,3,4,5]

    delete: //刪除數(shù)組某個(gè)位置的元素

    var arr = [1,2,3]

    delete arr[1]  //arr變?yōu)閇1,,3]

    1 in arr      //false

六、數(shù)組的遍歷

    數(shù)組的遍歷通常使用for語(yǔ)句來(lái)實(shí)現(xiàn)

    var arr = [1,2,3,4,5];

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

      if(!a[i]) continue;        //跳過(guò)null,undefined和不存在的元素

    }

七、多維數(shù)組

    多維數(shù)組就是數(shù)組里的元素還是數(shù)組

    如:var arr = [[1,2,3],[,4,5,6]];

      arr[1][1];  // 5

八、數(shù)組方法

    1、 join()  用于將數(shù)組中所有元素都轉(zhuǎn)化為字符串 并連接在一起,還可以自定義連接字符

      var arr = [1,2,3];

      arr.join();    // => "1,2,3"

      arr.join("==");   // => "1==2==3";

     2、 reverse()  用于將數(shù)組元素的順序顛倒

      var arr = [1,2,3];

      arr.reverse();  //arr數(shù)組變?yōu)閇3,2,1]

     3、 sort();   //用于對(duì)數(shù)組內(nèi)的元素進(jìn)行排序。可以傳入一個(gè)函數(shù)用作排序,如果為空,則按字母順序排序。undifined元素排到最后

      var arr = [1,2,3];

      a.sort(function(a,b){

        return a-b; //排序標(biāo)準(zhǔn) 負(fù)數(shù) 0 正數(shù),比較結(jié)果先返回小的那個(gè) 

      });  //arr數(shù)組的值為[1,2,3]  如果第二個(gè)條件變?yōu)閎-a則結(jié)果為[3,2,1]

      4、concat()  //用于組合一個(gè)新的數(shù)組,返回一個(gè)新的數(shù)組

      var arr = [1,2,3]

      arrnew = arr.concat(4,5)  //arrnew數(shù)組為[1,2,3,4,5]

      arrnew1 = arr.concat([4,5],[6,7]);  //arrnew1數(shù)組為[1,2,3,4,5,6,7]

      5、slice()  //用于返回?cái)?shù)組指定區(qū)間的元素組成的數(shù)組,如果輸入一個(gè)參數(shù),則是從這個(gè)參數(shù)到結(jié)束之間的數(shù)組。兩個(gè)參數(shù)就是,第一個(gè)參數(shù)是起始位置,第二個(gè)參數(shù)是個(gè)數(shù)。

       var arr = [1,2,3,4,5];

       var arr1 = arr.slice(2);  //[3,4,5]

       var arr2 = arr.slice(1,3); //[2,3]

     6、splice()   刪除或者添加元素。會(huì)改變?cè)瓟?shù)組本身,相當(dāng)于C#中的引用(ref),原數(shù)組是刪除的元素組成的數(shù)組,返回值是剩下的元素組成的數(shù)組。

      var arr = [1,2,3,4,5];

      var arr1 = arr.splice(1,3);  //arr為[2,3,4],返回的數(shù)組arr1為[1,5]

      var arr2 = [1,2,3,4,5];

      var arr3 = arr2.splice(2,0,'a','b');  //從第2位開(kāi)始刪除,刪除兩個(gè)元素,然后從該位置插入'a','b';arr2為[],因?yàn)闆](méi)有刪除任何元素,arr3[1,2,'a','b',3,4,5]

      7、 push()與pop()  在數(shù)組尾部添加或刪除一個(gè)元素,添加時(shí)返回之為最后一個(gè)添加的元素,刪除時(shí)。返回值為刪除的那個(gè)元素。

      push()  函數(shù)在數(shù)組尾部添加一個(gè)元素。

      pop()   函數(shù)刪除數(shù)組的最后一個(gè)元素。

      var arr = [1,2,3]

      arr.push(4);  //arr為[1,2,3,4]

      var arr1 = [1,2,3]

      arr.pop();   //arr1為[1,2]

      8、unshift()和shift()

      shift(),unshift()與push(),pop()只不過(guò),是在數(shù)組頭部操作而非尾部。

      shift()  在數(shù)組頭部移除一個(gè)元素,返回值為被刪元素。

      unshift() 在數(shù)組頭部添加一個(gè)元素,返回組為最后一個(gè)添加的元素。

      var arr = [1,2,3];

      var a = arr.shift();  //arr變?yōu)閇2,3] a為1

      var arr1 = [1,2,3];

      var b = arr1.unshift([4,5]);  //arr1變?yōu)閇4,51,2,3],b為4  返回最后一個(gè)添加的,先添加5再添加4

      9、toString()和toLocaleString()  將數(shù)組轉(zhuǎn)化為字符串

      var arr = [1,2,3]

      arr.toString();  //生成"1,2,3"  與不使用任何參數(shù)的join()是一樣的。

二、ECMAScript中的數(shù)組方法

    1、forEach()  forEach() 從頭到尾遍歷數(shù)組,為每個(gè)元素調(diào)用指定的函數(shù)。

      var arr = [1, 2, 3, 4, 5];
        var sum = 0;
        arr.forEach(function (value) {
            sum = sum + value;
        });
        document.write(sum);  //sum最終為15

     2、map()  map()方法將調(diào)用的數(shù)組的每個(gè)元素傳遞給指定的函數(shù),并返回一個(gè)數(shù)組。

      var arr = [1, 2, 3, 4, 5];
        var arr1 = arr.map(function (value) {
            return value + 1;
        });
        document.write(arr1.join()); //arr1為[2,3,4,5,6]

     3、filter()  filter()過(guò)濾,返回的元素是調(diào)用數(shù)組的一個(gè)子集,過(guò)濾掉不符合條件的元素。

        var arr = [1, 2, 3, 4, 5, 6];
        var arr1 = arr.filter(function (i) { return i % 2 == 0 });
        document.write(arr1.join());  //arr1為[2,4,6]

     4、every()和some()  

      every()當(dāng)且僅當(dāng)數(shù)組里的所有元素調(diào)用判定函數(shù)都返回true,它才返回true。第一次返回false就停止遍歷。

      some()當(dāng)數(shù)組里存在一個(gè)元素調(diào)用判定函數(shù)返回true,它就返回true。第一次返回true就停止遍歷。

        var arr = [1, 2, 3, 4, 5, 6];
        var a = arr.every(function (x) { return x > 3; });
        var b = arr.some(function(y){ return y > 3; });
        document.write("a的值是:" + a);  //a的值是false,a中不是所有元素大于3
        document.write("b的值是:" + b);  //b的值是true,b中存在元素大于3

     5、reduce()和reduceRight()

      reduce()  將數(shù)組中的元素以指定函數(shù)進(jìn)行組合,生成單個(gè)值,第一個(gè)參數(shù)是簡(jiǎn)化操作函數(shù),第二個(gè)參數(shù)是傳遞給函數(shù)的初始值。最后結(jié)果是初始值再按組合函數(shù)與最后結(jié)果計(jì)算一次。第二個(gè)參數(shù)即初始值可以省略,當(dāng)初始值省略就直接從第一個(gè)元素開(kāi)始計(jì)算。

        var arr = [1, 2, 3, 4, 5, 6];
        var count = arr.reduce(function (x, y) { return x + y; },0);
        document.write(count);
      reduceRight();  與reduce()唯一的不同就是它從右至左選擇元素進(jìn)行計(jì)算。

     6、indexOf()和lastInsexOf()

     indexOf()  indexOf()從頭至少尾返回找到的第一個(gè)元素的索引。

     lastIndexOf()  lastIndexOf()倒序查找元素,返回第一個(gè)找到元素的索引。

        var arr = [1, 2, 3, 2, 1];
        var i = arr.indexOf(2);  //從頭至尾搜索,第一次遇見(jiàn)2是arr[1],因此返回1
        var j = arr.lastIndexOf(2);  //從尾至頭搜索,第一次遇見(jiàn)2是arr[3],因此返回3
        document.write(i + "<br/>");
        document.write(j);

     7、Array.isArray();  //判定一個(gè)對(duì)象是否數(shù)組對(duì)象

        var arr = [1, 2, 3];
        var str = "str1";
        document.write(Array.isArray(arr));  //返回true arr是數(shù)組對(duì)象
        document.write(Array.isArray(str));  //返回false str是字符串,并非數(shù)組對(duì)象
 

相關(guān)文章

  • javascript淺層克隆、深度克隆對(duì)比及實(shí)例解析

    javascript淺層克隆、深度克隆對(duì)比及實(shí)例解析

    這篇文章主要介紹了javascript淺層克隆、深度克隆對(duì)比及實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 詳解PHP中pathinfo()函數(shù)導(dǎo)致的安全問(wèn)題

    詳解PHP中pathinfo()函數(shù)導(dǎo)致的安全問(wèn)題

    這篇文章主要給大家介紹了PHP中pathinfo()函數(shù)導(dǎo)致的安全問(wèn)題,文中給出了詳細(xì)的介紹與示例代碼,相信對(duì)大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下,下面來(lái)一起看看吧。
    2017-01-01
  • 純JavaScript實(shí)現(xiàn)的分頁(yè)插件實(shí)例

    純JavaScript實(shí)現(xiàn)的分頁(yè)插件實(shí)例

    這篇文章主要介紹了純JavaScript實(shí)現(xiàn)的分頁(yè)插件,涉及javascript結(jié)合php動(dòng)態(tài)實(shí)現(xiàn)分頁(yè)效果的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • JavaScript中的值類(lèi)型詳細(xì)介紹

    JavaScript中的值類(lèi)型詳細(xì)介紹

    這篇文章主要介紹了JavaScript中的值類(lèi)型詳細(xì)介紹,本文講解了Primitive、Object、JS自帶全局對(duì)象、Immutable與Mutable等內(nèi)容,需要的朋友可以參考下
    2014-12-12
  • JavaScript窗口功能指南之在窗口中書(shū)寫(xiě)內(nèi)容

    JavaScript窗口功能指南之在窗口中書(shū)寫(xiě)內(nèi)容

    JavaScript窗口功能指南之在窗口中書(shū)寫(xiě)內(nèi)容...
    2006-07-07
  • JS的參數(shù)傳遞示例介紹

    JS的參數(shù)傳遞示例介紹

    想必大家對(duì)參數(shù)傳遞并不陌生吧,本文為大家介紹下JS的參數(shù)傳遞,需要的朋友可以參考下
    2014-02-02
  • js傳遞數(shù)組參數(shù)到后臺(tái)controller的方法

    js傳遞數(shù)組參數(shù)到后臺(tái)controller的方法

    下面小編就為大家分享一篇js傳遞數(shù)組參數(shù)到后臺(tái)controller的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • 不到30行JS代碼實(shí)現(xiàn)Excel表格的方法

    不到30行JS代碼實(shí)現(xiàn)Excel表格的方法

    這篇文章主要介紹了不到30行JS代碼實(shí)現(xiàn)Excel表格的方法,實(shí)現(xiàn)方法簡(jiǎn)單易懂,非常具有實(shí)用價(jià)值,可部分代替jQuery的功能,需要的朋友可以參考下
    2014-11-11
  • 微信小程序自定義導(dǎo)航教程(兼容各種手機(jī))

    微信小程序自定義導(dǎo)航教程(兼容各種手機(jī))

    這篇文章主要給大家介紹了關(guān)于微信小程序自定義導(dǎo)航的相關(guān)內(nèi)容,文中通過(guò)示例代碼介紹的非常詳細(xì),兼容各種手機(jī),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • javascript數(shù)組中的map方法和filter方法

    javascript數(shù)組中的map方法和filter方法

    這篇文章主要介紹了javascript數(shù)組中的map方法和filter方法,文章內(nèi)容介紹詳細(xì),具有一定的參考價(jià)值,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-03-03

最新評(píng)論