数组

作者: Mr_HeH | 来源:发表于2017-03-01 22:44 被阅读5次

            除了Object之外,Array类型应该是JavaScript中最常用的类型了。与其他语言不同的是JavaScript中的数组中的元素可以是不同类型的数据。


    数组的创建

    创建数组有两种方式:

    1,使用Array的构造函数

     var arr = new Array()

    2.数用数组字面量表示

    var arr  = ['123',2]


    通过length属性获取数组长度

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

      arr.length     //  结果:5


    indexOf

    用来获取一个指定元素的位置

    var arr = ['hh','zjzj','md','oo'];

    arr.indexOf('md') //结果: 2 

    arr.indexOf('m') //结果: -1 找不到返回-1


    push 和 pop

    push()像Array末尾添加元素,pop()删除最后一个元素s

    var arr = ['hh','zjzj','md','oo'];

    arr.push('kk');

    此时的arr打印为 ['hh','zjzj','md','oo','kk'];

    arr.pop();  //‘kk’

    此时打印arr,结果为['hh','zjzj','md','oo'];


    unshift 和 shift

    从数组头部添加或者删除元素

    var arr = ['hh','zjzj','md','oo'];

    arr.unshift('ll') //返回新数组的长度:5

    arr此时为['ll','hh','zjzj','md','oo']

    arr.shift;  //'ll'

    arr此时为['hh','zjzj','md','oo']


    reverse

    反转数组元素的顺序

    var arr  = [1,2,3];

    arr.reverse();

    arr // 结果:[3,2,1]


    splice

    数组中最强大的方法,可用于增,删,改操作.

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

    //增加

    需要三个参数即可(起始位置,0,增加的元素)要是增加多个元素也一样

    arr.splice(2,0,'qq','w','e');//从第二个元素开始,删除0个,插入是三个新元素

    alert(arr); //打印[1,2,'qq','w','e',4,5];

    //删除

    只需指定2个参数:要删除的第一项的位置和要删除的项数。

    例如,splice(0,2)会删除数组中的前两项

    //修改

    splice (2,1,"red","green")从第二个位置开始,删除一个,同时插入‘red’和‘green’


    join

    join()方法只接收一个参数,即用作分隔符的字符串,然后返回包含所有数组项的字符串

    var colors = ["red", "green", "blue"];

    alert(colors.join(","));      //red,green,blue

    alert(colors.join("||"));      //red||green||blue


    concat

    连接两个数组

    var arr = [1,2,3];

    arr.concat('4');//返回一个新数组 [1,2,3,''4''];


    sort

    对数组中的元素进行排序

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

    arr.sort();然而结果并非想象中的那样,打印[1,13,2,3,4]; why ????

    原来 :为了实现排序,sort()方法会调用每个数组项的toString()转型方法,然后比较得到的字符串,以确定如何排序。即使数组中的每一项都是数值,sort()方法比较的也是字符串

    因此sort()方法可以接收一个比较函数作为参

    数,以便我们指定哪个值位于哪个值的前面。

    比较函数接收两个参数,如果第一个参数应该位于第二个之前则返回一个负数,如果两个参数相等

    则返回0,如果第一个参数应该位于第二个之后则返回一个正数。以下就是一个简单的比较函数:

    function compare(value1, value2) {

    if (value1 < value2) {

    return -1;

    } else if (value1 > value2) {

    return 1;

    } else {

    return 0;

    }

    }

    var values = [0, 1, 5, 10, 15];

    values.sort(compare);

    alert(values); //0,1,5,10,15

    相关文章

      网友评论

          本文标题:数组

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