zoukankan      html  css  js  c++  java
  • js数组

    数组定义的方式:

      var arr=[1,2,3];

      var arr=new Array(1,2,3);

      var arr=new Array(5);//定义长度为5的数组(括号中放内容时,表示数组内添加的内容。括号内放的是数字,则表示定义数组长度)

    清除数组方法:

      清除数组方法一:令数组长度为0.   即arr.length=0

      清除数组方法二:arr=[];重新赋一个空d数组

    数组添加方法:

      arr.push('abc');//在数组后面添加元素,该方法有返回值,返回的是新的数组长度

      arr.unshift(0);//在数组前面添加元素,该方法有返回值,返回的是新的数组长度,但是IE6 IE7不支持unshift返回值

    数组删除方法:

      arr.pop();//删除数组中的最后一个元素,返回值是被删除的最后一个元素值

      arr.shift();//删除数组中的第一个元素,返回值是被删除的第一个元素值,后面的元素会前移比当前索引1的位置。

      arr.splice(删除开始的位置索引值,删除的个数);//返回删除的元素值

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

            arr.splice(2);//返回 [4,5] 此时 arr=[1,2,3]

      delete arr[1];删除数组中的元素,与为该删除索引地方为其赋undefined值类似,不会改变数组长度length。也不会使删除后的元素前移位填充。

    数组的替换:

      arr.splice(删除开始的位置索引值,删除的个数,‘替换的值’);//返回删除的元素值

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

          arr.splice(2,2,[1,2],8);//返回:[3,4];此时arr=[1,2,[1,2],8,5]

    数组的添加:

      arr.splice(添加的位置索引值,0,‘添加的元素’,‘可以添加多个’);//0表示没有删除元素,所有返回值为空

    返回指定数组的一个片段或者子数组:

      arr.slice();

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

        arr.slice(0,3);//返回[1,2,3]

        arr.slice(3);//返回[4,5]

        arr.slice(1,-1);//返回[2,3,4]  ----(-1表示从后往前数第一个,即倒数第一个)

        arr.slice(-3,-2);//返回[4]----(-3表示倒数第3个,-2表示倒数第二个)

    小技巧:

    可以利用这个方法实现数组中的元素前后交换:

      arr.unshift(arr.pop());

      arr.push(arr.shift());

    数组去重:

    方法一:

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

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

          if(arr[i]==arr[j]){

            arr.splice(j,1);

            j--;

          }

        }

      }

     数组的连接:

      arr.concat();//创建并返回一个新数组

      例:

        var arr=[1,2,3]

        arr.concat(4,5);//返回:[1,2,3,4,5]

        arr.concat([4,5]);返回:[1,2,3,4,5]

        要把数组arr1与arr2连接:   arr1.concat(arr2);

        要把数组arr1,arr2,arr3 连接:  arr1.concat(arr2,arr3);

        arr.concat(4,[5,[6,7]]);//返回:[1,2,3,4,5[6,7]]   concat()不会递归扁平化数组的数组

     数组的反转:

      arr.reverse();

    将字符串变为数组:

      arr.split('');

      例:

        var str='abcdef';

        alert(str.split(''));

        执行结果:a,b,c,d,e,f

    数组变为字符串:

    将数组中所有元素转变为字符串并连接在一起,返回最后生成的字符串:

      arr.join();

      例:var arr=[1,2,3]

        arr.join();//结果:1,2,3

        arr.join("");//结果:123

        arr.join(" ");//结果:1 2 3

        arr.join("-");//结果:1-2-3

    数组的反转:

      arr.reverse();

      例:反转字符串:

       var str='abcdef';

       alert(str.split('').join(''));

    数组的遍历:

      forEach()

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

      var sum=0;

      arr.forEach(function(value){

        sum+=value;

      });//结果sum=15

    map():方法

      将调用的数组每个元素传递给指定函数,并返回一个数组,它包含该函数的返回值。不修改调用的数组

      例:a=[1,2,3];

        b=a.map(function(x){

          return x*x;

         });//结果b是[1,4,9]

      

  • 相关阅读:
    洛谷 P1410 子序列(DP)
    LibreOJ #539. 「LibreOJ NOIP Round #1」旅游路线(倍增+二分)
    LibreOJ #541. 「LibreOJ NOIP Round #1」七曜圣贤(单调队列)
    浴谷八连测R6题解(收获颇丰.jpg)
    数论的一些小结论
    Fence9
    二模 (2) day1
    二模 (1) day2
    二模 (1) day1
    一些编码时的老错误
  • 原文地址:https://www.cnblogs.com/yuxingyoucan/p/5720384.html
Copyright © 2011-2022 走看看