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

JavaScript一维数组创建

1. 使用new Array()来创建

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

创建一个空数组

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

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

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

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

var arr = new Array(10);
console.log(arr.length); //
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);  // 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); //

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

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

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

var arr = new Array(1,2,3,4);
console.log(arr[0]); //
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); //
console.log(arr);        //[4294967296: 1] 

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

var arr = new Array();
arr[0] = "a";
arr[1000] = "1000";
console.log(arr.length); //
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]); //

方法二:

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/

JavaScript 数组的创建的更多相关文章

  1. javascript数组操作(创建、元素删除、数组的拷贝)

    这篇文章主要介绍了javascript数组操作,包括创建.元素的访问.元素删除.数组的拷贝等操作,还有其它示例,需要的朋友可以参考下 1.数组的创建 复制代码 代码如下: var arrayObj = ...

  2. JavaScript基础04——数组的创建及方法

    数组的概念及定义 数组的概念:         一组数据,数据的组和         哪些数据的组和,只要是数据(所有数据),就可以放在数组中 数组的意义:         可以同时操作多个数据 数组 ...

  3. Javascript数组操作

    使用JS也算有段时日,然对于数组的使用,总局限于很初级水平,且每每使用总要查下API,或者写个小Demo测试下才算放心,一来二去,浪费不少时间:思虑下,堪能如此继续之?当狠心深学下方是正道. 原文链接 ...

  4. JavaScript权威设计--JavaScript数组(简要学习笔记九)

    1.数组的创建 如: var a=[1.1,null,"a"]; var b=[1, ,3]; //中间的那个元素是undefined var c=[ , , ] 这里c.leng ...

  5. Javascript数组操作(转)

    1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限, ...

  6. JavaScript 数组

    JavaScript 数组 简介:数组是值的有序集合,JavaScript在同一个数组中可以存放多种类型的元素,而且是长度也是可以动态调整的,可以随着数据增加或减少自动对数组长度做更改. 一:创建数组 ...

  7. JavaScript 数组详解

    在程序语言中数组的重要性不言而喻,JavaScript中数组也是最常使用的对象之一,数组是值的有序集合,由于弱类型的原因,JavaScript中数组十分灵活.强大,不像是Java等强类型高级语言数组只 ...

  8. 什么才是正确的javascript数组检测方式

    前面的话 对于确定某个对象是不是数组,一直是数组的一个经典问题.本文专门将该问题择出来,介绍什么才是正确的javascript数组检测方式 typeof 首先,使用最常用的类型检测工具——typeof ...

  9. 【原】javascript数组操作

    继续我的第二遍<javascript高级程序设计第三版>,今天要做的笔记是array 一.数组的操作 1.数组的创建: var colors= new Array(); //创建一个数组 ...

随机推荐

  1. 右值引用、move与move constructor

    http://blog.chinaunix.net/uid-20726254-id-3486721.htm 这个绝对是新增的top特性,篇幅非常多.看着就有点费劲,总结更费劲. 原来的标准当中,参数与 ...

  2. laravel框架总结(四) -- 服务容器

    1.依赖 我们定义两个类:class Supperman 和 class Power,现在我们要使用Supperman ,而Supperman 依赖了Power class Supperman { p ...

  3. SPOJ 375. Query on a tree (树链剖分)

    Query on a tree Time Limit: 5000ms Memory Limit: 262144KB   This problem will be judged on SPOJ. Ori ...

  4. Visual Studio的Web Performance Test提取规则详解(1)

    总结 Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互.Web Performance T ...

  5. [问题2014A01] 解答三(升阶法,由董麒麟同学提供)

    [问题2014A01] 解答三(升阶法,由董麒麟同学提供) 引入变量 \(y\),将 \(|A|\) 升阶,考虑如下行列式: \[|B|=\begin{vmatrix} 1 & x_1-a & ...

  6. [问题2014S03] 解答

    [问题2014S03] 解答  设 \(A\) 的 \(n\) 个特征值分别为 \(\lambda_1,\lambda_2,\cdots,\lambda_n\), 由条件知它们都是不等于零的实数. 根 ...

  7. Beaglebone Black–I2C 接 BMP280 获取当前温度

    我有两个含温度传感的模块,一个是AOSONG 奥松电子的 AM2320 温度湿度,另一个是九轴里面的 Bosch BMP280.由于 AM2320 用 I2C MODBUS,直接用 I2C Tools ...

  8. My97日期控件 选择日期区间

    <script language="javascript" type="text/javascript" src="My97DatePicker ...

  9. hdu4758Walk Through Squares(ac自动机+dp)

    链接 dp[x][y][node][sta] 表示走到在x,y位置node节点时状态为sta的方法数,因为只有2个病毒串,这时候的状态只有4种,根据可走的方向转移一下. 这题输入的是m.N,先列后行, ...

  10. Linux下文件删除的原理

    Linux文件删除的原理: Linux是通过link的数量来控制文件的删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除,一般来说每个文件都有2个link计数器:i_count和i_n ...