JavaScript之数组
2016-04-12 19:51
495 查看
一维数组
内存中的数组: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循环。
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解
- call/apply/bind 的理解与实例分享