zoukankan      html  css  js  c++  java
  • JavaScript Array 的学习

    首先创建数组

    1     var empty = [];//创建一个空的数组;
    2     var diffType = [1,'a',2.3,{},[4,5],,];//创建一个包含不同类型的数组
    3     var undef = [,,]//创建一个空元素数组,注意这里数组的长度是2,不是3.JavaScript数组允许最后多一个逗号。但是在IE678长度是3.
    4     var instance = new Array();//当然也可以用Array类创建一个数组,效果和[]一样。

    读写数组元素

    1     var b = [1,null,2,,3,undefined,6];//定义一个数组
    2     b[0];//读数组的第一个元素
    3     b[0] = 100;//写数组的第一个元素,数组的下标可以是一个表达式
    4     b[12.34] = 1234;//数组的下标可以不是一个整形数字,此时会将12.34作为一个属性名称,为b定义一个属性
    5     b["12"] = 12;//当数组的下标是一个可以直接转化成整形数字的字符串时,就像当于写b[12] = 12,数组的length就成13了
    6     b["13.00"] = 13;//当不能直接转化成正整数时,依然作为属性名处理
    7     b[14.00] = 14;//可以直接转化成正整数,就相当于b[14] = 14,此时b.length = 15;
        var x = [,,,];//在IE9,10长度为3,IE8极更早的版本长度为4
    var y = new Array(3);//注意:数组x, y 是有区别的。x,y都表示定义了一个长度为3的数组,但是x的三个元素值都为undefined,y的三个元素都没有值。但是表现是一样的。
    console.log(0 in x);//false
    console.log(0 in y);//false

     数组的一些方法

    push(p1,p2,...)在数组的末端添加元素,可以一次添加多个

    pop()移除并返回最后一个数组元素

    delete()将数组中的制定元素置为undefined,并不影响length属性。

    join(p)将数组转化为字符串,用p分割。注意该方法会将递归内嵌的数组元素,一次调用toString()方法。

    1 var a = [1,null,[10,12,[23,25]],2,,3,undefined,6];
    2 console.log(a);//[1, null, Array[3], 2, , 3, undefined, 6]
    3 console.log(a.join());//"1,,10,12,23,25,2,,3,,6"
    4 console.log(a.join(", "));//"1, , 10,12,23,25, 2, , 3, , 6"

    reverse()反转数组

    sort(f(a,b))如果没有参数,就按照字符顺序排序。undefined元素会排在最后。f是一个函数,用于定义排序规则。f返回值<=0,a在b前,否则b在a前。

    concat()返回组合后的数组,但是并不改变原有数组。调用方法如下

    1 var b = [1,2,3];
    2 console.log(b.concat(100,101));//[1, 2, 3, 100, 101] 
    3 console.log(b.concat([100,101]));//[1, 2, 3, 100, 101] 
    4 console.log(b.concat([100,101],[102,103]));//[1, 2, 3, 100, 101, 102, 103]
    5 console.log(b.concat([100,101,[103,104]]));//[1, 2, 3, 100, 101, Array[2]]。并不会改变数组内的数组

    slice(startIndex [,endIndex])返回指定区间(左闭右开)的元素。

    1 var b = [1,2,3,4,5];
    2 console.log(b.slice(0,3));//[1, 2, 3]
    3 console.log(b.slice(3));//[4, 5]
    4 console.log(b.slice(7));//[] 
    5 console.log(b.slice(-3,-2));//[3]

    splice(startIndex [,lenth,p1,p2,p3,...]返回被截取的元素,原来的数组将被改变。

    1 var c = [1,2,3,4,5,6,7,8];
    2 console.log(c.splice(4));//[5, 6, 7, 8]
    3 console.log(c.toString());//[1, 2, 3, 4]
    4 console.log(c.splice(3,1,5,6,7,8));//[4]
    5 console.log(c);//[1, 2, 3, 5, 6, 7, 8]

    shift()删除数组的第一个元素。

    unshift(p1,p2,...)将参数添加在数组的开头。

    toString()将数组中的每一个元素调用toString方法。

  • 相关阅读:
    leetcode108 Convert Sorted Array to Binary Search Tree
    leetcode98 Validate Binary Search Tree
    leetcode103 Binary Tree Zigzag Level Order Traversal
    leetcode116 Populating Next Right Pointers in Each Node
    Python全栈之路Day15
    Python全栈之路Day11
    集群监控
    Python全栈之路Day10
    自动部署反向代理、web、nfs
    5.Scss的插值
  • 原文地址:https://www.cnblogs.com/zeq-jone/p/3732559.html
Copyright © 2011-2022 走看看