• JS基础的数组


    数组:数组是使用单独的变量名来存储一系列的值。

    定义方式
    一维数组
    空数组
     

      var a = new Array();
      var b = [];
      var c = new Array(数组的长度);

      注意:
    var arr1 = [3];      // arr1.length == 1,   arr1[0] == 3
    var arr2 = new Array(3);          // arr2.length == 3,   arr2[0] == undefined 

      有数值的数组

     var a = new Array("1","2");
      var b = [1,2];

    往数组里面添加元素

    var  arr = [];
         arr.push(3,4,5);
        alert(arr[1]);

    效果如下:

    通过下标,逐个添加,或者循环添加

    arrt[1]=0;
    arrt[2]=2;

    遍历数组:

    for循环:

        var aa = new Array("1","2","3");
        for(var i = 0;i<aa.length;i++){
           document.write(aa[i]);
        }

    效果如下:

    for in循环:

        var aa = {first:"zhangsan",second:"lisi","bb":"wangwu"};
        for(var b in aa){
             document.write(b);      //b相当于下标
        }
    document.write("</br>");
    var bb = new Array("a","b","c"); for(var i in bb){ document.write(bb[i]); //bb[i]是元素值 }

    效果如下:

    对数组的内置操作函数:

    1.在数组末尾添加数据

    var attr =[ 1,2,3];
    attr.push(4);
    console.log(attr);

    效果如下:

    2.在数组开头添加数据

    var attr =[ 1,2,3];
     attr.unshift(4);
     console.log(attr);

    效果如下:

    3.删除数组最末尾的数;

    var attr =[ 1,4,2,3];
     attr.pop();                         
     console.log(attr);              
    var attr =[ 1,4,2,3];
     attr.pop(4);                   里面的数字不影响结果            
     console.log(attr); 

    删除数组开头的数据:

    var attr =[ 1,4,2,3];
     attr.shift();
     console.log(attr);
    var attr =[ 1,4,2,3];
     attr.shift(2);             里面的数字不影响结果
     console.log(attr);

     

    数组转字符串:

    var attr =[ 1,4,2,3];
    attr.join('+');
     console.log(attr);           这是错的 !!!!!!!!
    
    var attr =[ 1,4,2,3];
    var str= attr.join('+');
     console.log(str);

     反转排序:

    var attr =[ 1,4,2,3];
     attr.reverse();
     console.log(attr);

    数组排序:

    var attr =[ 1,4,2,3];
     attr.sort();
     console.log(attr);

    连接数组:

         var arr1=[1,2,3];
        var arr2=[4,5,6];
        var arr3=[7,8,9];
        var arr=arr1.concat(arr2,arr3,[10,11]);           可以是 [10,11] 形式,
        console.log(arr);

    选择数组:slice:

    var attr =[ 1,4,2,3,6,4,4,3];
    var attr1 = attr.slice(2);            从下标为2开始截取一直到末尾;
       console.log(attr1);

    var attr =[ 1,4,2,3,6,4,4,3];
    var attr1 = attr.slice(2,5);        从下标为2开始截取到下标为5的位置, 但是选取不到下标为5的位置
       console.log(attr1);

    var attr =[ 1,4,2,3,6,4,4,3];
    var attr1 = attr.slice(-3);               符号表示从最后一位开始截取到倒数第三位的位置(假设右数为第一位、第一位、。。。。)
       console.log(attr1);

    var attr =[ 1,4,2,3,6,4,4,3];
    var attr1 = attr.slice(-3,7);                  右数第三位与下标为7的中间部分,但是取不到下标为7的位置;
       console.log(attr1);

    var attr =[ 1,4,2,3,6,4,4,3];
    var attr1 = attr.slice(3,-3);                   下标为3的位置到右数第三位中间的数据

    选取数组:splice

    var attr =[ 1,4,2,3,6,4,4,3];
    var attr1 = attr.splice(1,2);        第一个参数为下标为1的位置 第二个参数为长度; 在原来数组删除;
       console.log(attr,attr1);

    var attr =[ 1,4,2,3,6,4,4,3];
    var attr1 = attr.splice(1,2,100);                  第三个参数为删除删除位置添加的数据;
       console.log(attr);

    var attr =[ 1,4,2,3,6,4,4,3];
    var attr1 = attr.indexOf(4);           第一个元素“4”出现时的下标;
       console.log(attr1);

    var attr =[ 1,4,2,3,6,4,4,3];
    var attr1 = attr.indexOf(3,4);                 第二个参数为开始的下标从下标为4的位置找到第一个出现“3”时的下标
       console.log(attr1);

    var attr =[1,4,2,3,6,4,4,3];
    var attr1 = attr.indexOf(6,3);    //输出为4;   (2,3)  输出为-1 (5,3)  输出为-1;  (4,5)  包含第五位
       console.log(attr1);
    var attr =[1,4,2,3,6,4,4,3];
    var attr1 = attr.lastIndexOf(4);     从最后一位开始找第一次出现“4”时的下标      
       console.log(attr1);

    var attr =[1,4,2,3,6,4,4,3];
    var attr1 = attr.lastIndexOf(4,5);     从下标为5往前开始找第一次出现“4”时的下标       
       console.log(attr1);


         

  • 相关阅读:
    2-SAT 问题及图论解法
    割点、强连通分量
    欧拉路、欧拉回路
    DFS 树
    【题解】[AGC 034 F] RNG and XOR【异或卷积 FWT】
    【题解】[UOJ 62] UR #5 怎样跑得更快【莫比乌斯反演】
    【题解】LOJ #2085 / 洛谷 P1587「NOI2016」循环之美【莫比乌斯反演】
    【题解】LOJ #6052 「雅礼集训 2017 Day11」DIV【莫比乌斯反演】
    【题解】[HDU 5382] GCD?LCM【莫比乌斯反演 差分 线性筛】
    【题解】[51Nod 1847] 奇怪的数学题【min_25筛 杜教筛 莫比乌斯反演】
  • 原文地址:https://www.cnblogs.com/scw123/p/9506428.html
Copyright © 2020-2023  润新知