JS数组

作者: 哪树繁花 | 来源:发表于2017-09-13 19:52 被阅读13次

    数组定义

    1. var arr = new Array(5);
    2. var arr = [1,2,3,4,5];
    3. 二维数组的定义
    //一个5*5的二维数组,0~24
    var arr = new Array(5);
    for(var i = 0; i < arr.length; i++){
        arr[i] = new Array(5);
        for(var j = 0; j < arr[i].length; j++){
            arr[i][j] = i * arr.length + j;
        }
    }
    

    数组方法

    1. 前增
      arr.unshift(增加的内容);
      返回值:增加后数组的长度
      影响原数组
    2. 后增
      arr.push(增加内容)
      返回值:增加后数组长度
      影响原数组
    3. 前删
      arr.shift()
      返回值:删除后数组长度
      影响原数组
    4. 后删
      arr.pop()
      返回值:删除后数组长度
      影响原数组

    5. arr.splice(开始下标,删除长度,要增加的元素);
      返回值:被删除的元素
      影响原数组
      删除长度为0的话,可用于在指定下标位置添加元素

    6. arr.slice(开始下标,结束下标);
      返回值:截取的数组
      不影响原数组

    7. arr.concat(要拼接的元素)
      返回值:拼接后的新数组
      不影响原数组
    8. 复(复制数组的方法)
      arr.slice(0);//截取全部数组
      arr.concat();//在原数组的基础上啥也不拼
      用for循环挨个赋值
    9. 逆序排列
      arr.reverse();
      返回值:逆序后的数组(前后倒置)
      影响原数组
    10. 正序排列
      arr.sort();
      返回值:正序后的数组(按编码排序)
      影响原数组
      arr.sort(function(a, b){return a-b;});

    11. arr.toString();
      返回值:转换后的字符串
      不影响原数组
      可加参数,表示转换成的进制。
    12. 连接符
      arr.join("~");参数为连接符
      返回值:加了连接符后的字符串
      不影响原数组
      最常用的是"",空

    以下为ES5新增的数组方法

    1. indexOf()
      查找指定元素在数组中首次出现的下标位置,如果没有找到返回-1
      indexOf(5,2);//返回数组中第二个5的下标位置
    2. forEach()
      demo:
    var arr = [1,2,3,4];
    arr.forEach(function(item, index, array){//分别代表:当前元素,当前下标,当前数组
        console.log(item+" "+index);   //这里写你要执行的语句,不会影响原数组
    });
    
    1. map()
      demo:
    var arr = [1,2,3,4];
    var brr = arr.map(function(item, index, array){
        return item + 3;  //与forEach不同的是Map必须有返回值,不影响原数组
    });
    console.log(brr);   //在arr的基础上每项加上3
    
    1. reduce()归并
      demo:
    var arr = [1,2,3,4];
    arr.reduce(function(pre, next, index, array){//pre之前处理的结果,next下一个元素
        return pre + next;   //这样的话能求数组的累加和
    });
    
    1. filter()过滤
      demo:
    var arr = [1,2,3,4];
    var brr = arr.filter(function(item, index, array){
        retrun item > 2;
    });
    console.log(brr);//不影响原数组
    

    相关文章

      网友评论

          本文标题:JS数组

          本文链接:https://www.haomeiwen.com/subject/njbhsxtx.html