JavaScript之数组

来源:互联网 发布:生了二胎 才知熊猫血 编辑:程序博客网 时间:2024/05/21 14:58

一维数组

内存中的数组:
1.引用类型的对象
2.每个值相当于一个元素
3.每个都有一个下标

数组对象的个数:
1.数组是从0开始计数的,即arr[0]是arr数组中的第一个元素。
2.arr.length,永远等于最大一个下标+1

使用数组中的元素:
数组名[i];

创建

1.创建空数组

var 数组名 =[];//js中见到[]就是数组

var arr = [];

2.创建数组的同时,初始化每个元素

var 数组名 = [值1,值2,值3,…];

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

3. 通过创建新对象,创建空数组

var 数组名 = new Array(n);

var arr = new Array(n);

new:创建一个新对象
Array:数组类型
n:表示初始化元素的个数,省略则创建控数组

4.通过创建新对象,创建数组的同时,初始化每个对象

var 数组名 = new Array(值1,值2,值3,…);

var arr = new Array("hello","world");

赋值

数组名[i] = 值;

arr[1] = 2;

1.不限制个数,js中没有数组越界的说法;如果赋值多,自动增加length.
2.不限制元素的类型。

取值

var arr = [1,2,3,4];console.log(arr[1]+arr[3]);//6

任何位置使用 数组名[i] ,等效于直接使用 数组名[i] 中的值。
注: 如果给数组中的元素赋值为null,主动释放一个对象。

arr[2] = null;

null:主动释放一个对象,虽然在js中有垃圾回收器,但是建议用完较打的对象后,主动释放。

遍历一维数组

//arr是一个一维数组for(var i=0;i<arr.length;i++){    //进行操作的代码}

二维数组

数组的元素有引用了另一个子数组。

创建(两步)

(1)创建一个空数组
(2)设置数组中每个元素再引用另一个子数组。

var data = [];data[0] = [1,2,3,4];

访问

访问二维数组中的任意位置元素

data[r][c];/*data表示一个二维数组,r表示行,c表示列;即取data数组中r行c列的元素。*/

遍历二维数组

//data是一个二维数组for(var r=0;r<data.length;r++){    for(var c=0;c<data.length;c++){        //进行操作的代码        //当前元素:data[r][c];    }}

关联(hash)数组

可自定义下标的数组。

创建

(1)先创建空数组,
(2)再向数组中添加元素。

var arr = [];arr[key] = value;

key:必须是字符串;
hash数组的length属性无效,即无法使用arr.length来获取数组的长度。

使用

arr[key];
  • 关联数组中的key不能重复。
  • 所有数组如果访问不存在下标的位置,不会报错,会返回undefined.
  • 关联数组的有点:快速精确查找不需要遍历和数据量无关

遍历hash数组

for(var key in hashArr){//反复取出每个元素放入变量key中    //执行操作的代码    //key中获取的仅是元素的下标名称    //当前元素:hashArr[key];}

建议:
1.只要遍历索引数组(一维/二维数组都属于索引数组),就用for循环;
2.只要遍历关联(hash)数组,只能用for in循环。

0 0
原创粉丝点击