zoukankan      html  css  js  c++  java
  • js中数组的使用

      使用js时候,很多情况下要使用数组。就写写数组中一些常用的方法。

    js中定义一个数组,一般有以下2种方法。

    1. var arr = new Array(3); // 声明数组有3个元素

       arr[0] = 1;     arr[1] = 2;     arr[2] = 3;

       再比如这样  var arr = new Array("test"); // 数组中有个元素test

    2. var arr = [1,2,3,4];  // 这种方式更受推荐

    数组中有个重要属性length,就是数组元素个数,数组的长度。

    有个有趣的用法,比如声明数组中的第一种方法时,我定义了有3个数组元素的arr,这时我想再添加一个元素,这时可以使用length

    比如arr[arr.length] = 4;// 这就是在数组后,再追加一个元素

    有个值得注意的是,length这个属性,可能不是表面上你添加了几个元素就是几个。

    比如:

    var arr = [1,2,3];

    arr[9] = 11;

    这时可能你只给了4个元素,分别是1,2,3,11。但是length并不是4,而是10。但是你访问arr[3..]都是undefined,即arr[5] == undefined。

    检测一个变量是不是数组:

    一般使用

    if (arr instanceof Array){
      //
    }

    这个存在局限性,不过大多数情况下满足。比较新的市面浏览器现在支持这种方法:

    if (Array.isArray(arr)){
        //
    }

    常用的方法

    连接数组concat()

    var arr1 = [1, 2, 3];

    var arr2 = [3, 4, 5];

    var arr3 = arr1.concat(arr2);// [1,2,3,3,4,5]

    有个比较巧妙的克隆数组的方法:在concat()不填参数。比如:

    var arr4 = arr1.concat();// [1, 2, 3]

    转化成字符串:

    var arrToStr = arr.toString();// 这个是把各个元素以逗号分隔

    var arrToStr = arr.join(',');// join中传入逗号参数时,和上边的toString()效果一样。当然join可以传入其他分隔符

    数组模拟了数据结构中栈和队列的方法。稍微注意下每个方法的返回值

    比如模仿栈的方法,有push,pop。后进push先出pop

    队列的方法,有shift,unshift。从数组头部进入unshift,头部出去shift

    数组位置的查找方法,也是很常用的一个。现在流行的浏览器开始支持。也很容易理解。注意第二个参数的含义,表示从哪个位置开始查找,可以为负值。

    如果查不到,就返回-1

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

    比如我要查找1的位置。

    arr.indexOf(1, 0);// 0

    arr.indexOf(1, 1);// 6

    arr.indexOf(1, -2);// 6

    arr.indexOf(1, -999);// 0 超过长度以后,负值就从0开始了,所以查到的还是第一个位置的1

    lastIndexOf()方法一样道理。

    现在的浏览器也支持一些迭代方法。比如map,filter,forEach等等。就不举例子了。

    另一个比较常用的方法slice。接收两个参数,start,end。取出数组中的一部分连续元素。这个方法会再生成一个子数组。

    再有一个数组很强大的方法隆重介绍哈哈。splice(); 支持数组的增删改。主要用途还是往数组中间插入元素。

    值得注意的是,这个方法区别于slice方法,它会改变原数组。

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

    删除:传入2个参数,要删除第一项的位置(这里所说的位置都是指下标),和删除的项目数。比如

      arr.splice(2, 99);// [1,2]

    增加作用实际也算是修改了哈哈。如下:

    修改:传入3个参数,起始位置,删除的项目数(如果是增加作用,此处就写0),增加的项目(增加多个就写多个);这个就是splice()的主要作用---中间插入。

      arr.splice(2,1,7,8,9);// [1,2,7,8,9,4,5]   就是把元素3换成了7,8,9

    好了,数组常用的基本就这样了。

  • 相关阅读:
    Wix 教程
    SQL插入數據變成?解決辦法
    DevExpress GridControl使用方法总结【轉】
    Javascript如何判断对象是否相等【轉】
    android StringBuffer类的使用
    Linux命令
    PHP解决中文乱码
    PHP防盗链技术
    0113进度条+ListView+ArrayList+Adapter用法
    Windows中32位(x86)和64位(x64)解释
  • 原文地址:https://www.cnblogs.com/firstForEver/p/5048334.html
Copyright © 2011-2022 走看看