zoukankan      html  css  js  c++  java
  • javascript 数组总结

    数组的创建:

      数组可以使用Array构造函数来创建,或者使用[]快速创建。

      1. Array构造函数创建数组:

        无参数,创建空数组:

    var arry = new Array();

        参数为一个数字,指定数组长度

    var array = new Array(3);

        带初始化数据,创建数组并初始化参数数据

    var array = new Array(1,'34','ceshi')

      2.  "[]"创建数组:

        使用[],创建空数组:

    var array = [];

       传入初始化数据

    var array = [1,'34','ceshi'];

    判断数组类型:

      数组是继承自Object的原型,typeof Array 返回值为'objiect'。如果想进一步判断就需要用以下方法:

      对于一个网页或一个全局作用域而言,使用instanceof操作符可以做到:

    var array = [];
    if(array instanceof Array){
       alert('判断成功') 
    }

      对于instanceof的局限性,为了解决这个问题,ECMAScripts5新增Array.isArray(value)方法:

    var arr = [];
    if(Array.isArray(arr)){
         alert('判断成功')
    }

     数组的一些方法:

      * 添加元素方法:push() 、 unshift()、splice()

        1.push(item1,item2,...): 往数组的末尾添加一个或多个元素,并返回数组新的长度

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

        2. unshift(item,item2,...): 往数组的头部添加一个或多个元素,并返回数组新长度

    var arr = [1,2,3];
    arr.unshift(4,5);
    alert(arr);//4,5,1,2,3

        3. splice(index,0,item1,item2,...):将一个或者多个元素插入到数组中指定的index位置,插入位置的元素自动后移

    var arr = [1,2,3];
    arr.splice(1,0,4,5); //在第二个个元素位置添加4,5。
    alert(arr)//1,4,5,2,3

    * 删除元素方法: pop() 、shift()、splice()

        1.pop(): 删除尾部元素  

    var arr = [1,2,3];
    arr.pop();
    alert(arr);//1,2

        2.shift(): 删除头部元素

    var arr = [1,2,3];
    arr.shift();
    alert(arr);//2,3

        3.splice(index,count): 从指定位置index开始删除,删除指定的count个元素。

    var arr = [1,2,3,4];
    var a = arr.splice(2,2); //从第三个元素开始,删除两个元素,并返回要删除的元素
    alert(a);//3 ,4
    alert(arr)//1,2

    * splice 可以实现删除元素或者添加新元素

        splice方法参数描述:

          1.第一个参数:开始删除元素的索引值

          2.第二个参数:表示要删除元素的个数

          3. 第三个参数(以及第三个参数后面的所有参数):表示要插入的新元素(如果只有两个,可以忽略。表示只删除元素不添加元素)

        下面列出几个例子:

        1.删除数组的某一个元素: array.splice(index,1)

    var arr = [1,2,3];
    var a = arr.splice(2,1); //删除第三个元素,并返回要删除的元素
    alert(a);//3 
    alert(arr)//1,2

        2.在某个元素后添加元素:array.splice(index,0,value,....)

    var arr = [1,2,3];
    arr.splice(1,0,4,5); //在第一个元素后面添加4,5
    alert(arr)//1,4,5,2,3

        3. 删除某个元素,并且添加新的元素: array.splice(index,index,value,...)

    var arr = [1,2,3];
    var a = arr.splice(1,2,4,5); //从第二个元素开始删,删除两个元素,然后在原第二个元素的位置添加两个元素4,5
    alert(a)//2,3
    alert(arr)//1,4,5

     * 将数组转化成字符串: join()

      join(separator):将数组中的每个元素值两在一起,中间用指定的separator隔开;如果没有设置separator,默认用逗号隔开

    var arr = [1,2,3,4];
    var arr2 = [1,2,3,4];
    var str = arr.join('_');
    var str2 = arr.join();
    alert(str);//1_2_3_4
    alert(str2);//1,2,3,4

    * 数组的截取:slice()

      slice(indexstart,indexend): 从索引indexstart开始截取,直到索引indexend之前结束,索引end元素不包括;如果不设置indexend,则表示从indexstart开始一直截取到最后。

    var arr = [1,2,3,4,5];
    var newArr = arr.slice(2,3)//截取第三个元素
    var newArr2 = arr.slice(2,4)//从第三个元素开始到第四个元素
    var newArr3 = arr.slice(1)//从第二个元素开始截取直到最后一个元素
    alert(newArr);//3
    alert(newArr2);//3,4
    alert(newArr3);//2,3,4,5

    * 数组合并:concat()

       concat(item1,item2,....): 将多个数组或者字符串组合为一个数组,并返回一个新的数组。如果没有参数,就相当于重新copy一个数组。

    var arr = [1,2,3,4,5];
    var arr2 = [6,7,8,9];
    var newArr = arr.concat(4,5);
    var newArr2 = arr.concat(arr2);
    var newArr3 = arr.concat(arr2,[10,11]);
    var newArr4 = arr2.concat();
    alert(newArr);//1,2,3,4,5,4,5
    alert(newArr2);//1,2,3,4,5,6,7,8,9
    alert(newArr3);//1,2,3,4,5,6,7,8,9,10,11
    alert(newArr4)//6,7,8,9

    * 数组的拷贝:slice()、concat() 

      1.slice(0):返回一个新的数组,注:是一个新的数组不是指向

    var arr = [1,2,3,4];
    var newarr = arr.slice(0);
    alert(newarr)//1,2,3,4

      2.concat():返回一个新的数组,注:是一个新的数组不是指向

    var arr = [1,2,3,4];
    var newarr = arr.concat();
    alert(newarr)//1,2,3,4

    * 数组排序:reverse()、sort()

       1.reverse():反转元素

    var arr = [1,2,3,4,5];
    arr.reverse();
    alert(arr)// 5,4,3,2,1

      2.sort():对数组元素排序,

        按照字母顺序排列,即按照ASCII进行生序排列

    var arr = ['c','d','abc','bf','e'];
    arr.sort();
    alert(arr)// 'abc','bf','c','d','e'

        如果要排序数值,就需要使用一个排序函数

    //排序函数
    function sortNumber(a,b){
        return a-b;
    }
    var arr = [1,100,3,21,101,6];
    arr.sort(sortNumber);
    alert(arr)// 1,3,6,21,100,101
  • 相关阅读:
    centos7 setfacl权限
    三层交换机做DHCP的一些疑问
    python3 re模块
    python3 的小爬虫
    初学python的一些简单程序(2)
    python3 字典
    python3 元组
    python3列表
    初学python的一些简单程序(1)
    python3的字符串操作
  • 原文地址:https://www.cnblogs.com/yangkangkang/p/5647395.html
Copyright © 2011-2022 走看看