JavaScript 数组的创建

时间:2023-03-09 00:12:56
JavaScript 数组的创建

数组定义:数组(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/