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循环。
- javascript对象之javascript数组
- JavaScript之数组Array
- JavaScript之内部数组
- javascript之数组操作
- javascript之数组操作
- javascript之数组操作
- javascript之数组操作
- JavaScript性能之 数组
- javascript之数组操作
- javascript之数组操作
- javascript之数组操作
- javascript之数组操作
- javascript之数组操作
- javascript之数组操作
- javascript之数组
- javascript之数组操作
- javascript之数组操作
- javascript之101数组
- Cannot assign requested address解决办法
- CentOS 7 编译安装mysql 5.7
- 01-jsonp学习
- 在java中除去字符串(String)中的换行字符(\r \n \t)
- 第七周友元函数求两点间距离
- JavaScript之数组
- 分数类的雏形
- POJ 3468 A Simple Problem with Integers 【splay树入门题】
- 【poj 2411】Mondriaan's Dream 状态压缩DP
- MyBatis 3 用户指南
- SCOI2016酱油记
- CSS3之弹性盒模型
- hdu 【2115】 C Looooops
- 第六周项目1-分数类的锥形