zoukankan      html  css  js  c++  java
  • JavaScript 数组的创建

    数组定义:数组(array)是一种数据类型,它包含或者存储了编码的值,每个编码的值称作该数组的一个元素(element), 每个元素的编码被称作为下标(index)。

    JavaScript一维数组创建

    1. 使用new Array()来创建

          用数组对象的构造函数Array(),用new操作符进行实例化数组对象。 

    创建一个空数组

    var arr = new Array();
    console.log(arr.length); //0

    明确指定数组的前n位元素

    var arr = new Array("1","2","3","a","b");
    console.log(arr.length); //5

    创建一个大小为n的数组,数组中的每个元素值为undefined

    var arr = new Array(10);
    console.log(arr.length); //10
    console.log(arr[0]);     //undefined

    传递给构造函数的参数为负数、零、字母或字符时的情况

    var arr = new Array(-1);  //RangeError: Invalid array length
    console.log(arr.length);

    var arr = new Array(0);
    console.log(arr.length);  //0

    var arr = new Array(a);   //ReferenceError: a is not defined
    console.log(arr.length);

    var arr = new Array('a');
    console.log("arr[0] is " + arr[0] + " and arr length is " + arr.length); //arr[0] is a and arr length is 1

    2. 使用数组直接量方式创建

    我们知道将字符串文本放入引号之间可以创建字符串直接量,那创建数组直接量,只需要将逗号分割的值列表放入方括号(又称为中括号)中。

    var arr = ["a","b","c"];
    console.log(arr.length); //3

    JavaScript是一种无类型的语言,所以一个数组元素可具有任意的数据类型,同一数组的不同元素也可以具有不同的数据类型

    var arr = [1,"a",true,[false,"ee","11"],{id:1,name:"ting"}];
    console.log(arr.length); //5
    console.log(arr[3]);     //[false,"ee","11"]

         

          数组元素的读取和写,通过中括号操作。

    var arr = new Array(1,2,3,4);
    console.log(arr[0]); //1
    arr[2] = "a";
    console.log(arr)     //[1, 2, "a", 4] 

          数组是有下标的,其范围是大于等于0,小于232-1(4294967296-1)。如果超出这个范围,JavaScript会将其自动转换成字符串。

    var arr = new Array();
    arr[4294967296] = 1;
    console.log(arr.length); //0
    console.log(arr);        //[4294967296: 1] 

         JavaScript数组中的数组元素是稀疏的,意味着数组下标不会落在一个连续的范围,只有真正存储在数组中的元素才能够分配到内存,其余均不会占用内存。

    var arr = new Array();
    arr[0] = "a";
    arr[1000] = "1000";
    console.log(arr.length); //11001
    console.log(arr[999]);   //undefined

         数组的长度,length属性获得。数组的最大下标必须小于232-1,因此数组的最大长度是232-1。

     

    JavaScript二维数组创建

    方法一:

    var a = new Array();
    a[0] = new Array('a', 'b');
    a[1] = new Array(1, 2);
    console.log(a[0][1]); //b
    console.log(a[1][1]); //2

    方法二:

    var a = new Array(3); //定义维数
    a[0] = new Array('a', 'b', 'c');
    a[1] = new Array('d', 'e');
    a[2] = new Array('f', 'g');
    for (var e in a) console.log(a[e]);
    /*["a", "b", "c"]
    ["d", "e"]
    ["f", "g"]
    */

    方法三:

    var arr = new Array([1, 2, 3], [4, 5, 6], [7, 8, 9, 10]);
    for (var e in arr) console.log(arr[e]);
    /*
    [1, 2, 3]
    [4, 5, 6]
    [7, 8, 9, 10]
    */

    方法四:

    var res = new Array(new Array("1", "1111"),new Array("2", "2222"), new Array("3", "3333"),new Array("4", "4444"));
    for (var i = 0; i < res.length; i++) {
        alert(res[i][0] + "|" + res[i][1]);
    }

    时间:2014-10-21

    地点:合肥

    引用:http://www.xiaoxiaozi.com/2009/06/29/1020/

            http://blog.163.com/tarcy_tw/blog/static/317235320110451628286/ 

  • 相关阅读:
    程序员第一定律:关于技能与收入
    Android——全屏显示的两种方式
    Android与JavaScript方法相互调用
    IT职场人生:找谁占卜
    Linux 2.6.23开始使用CFS(complete fair schedule),线程Priority不再有效
    如何查看一份linux kernel source的版本?
    tar解包的时候如何exclude一些目录
    rsync通过SSH来同步两台机器上的内容
    ArchLinux下配置TPLink WN550G PCI网卡为无线AP
    配置Linux下的时间服务器,让一批机器和一台机器时间同步
  • 原文地址:https://www.cnblogs.com/sun-mile-rain/p/4039162.html
Copyright © 2011-2022 走看看