JS数组
一.数组:
1. JS的数组是弱类型 (数组中可以存放任意的元素)
2. 数组声明的两种方式:
字面的方式声明一个数组 (var b = [])
使用构造函数的方式:
var b= new Array();
数组初始化:var b1= new Array(5,4);
初始化了数组的元素个数: var b1= new Array(4);
3.数组的下标可以不是严格的数字
如果向一个原来不在范围内的下标写入数据,那么这个位置会产生数据存储,同时调整length
数组的底层是类似key-value形式的mapper
数字,字符串都可以作为下标
length只会受到整数的影响
4. 应用: 1、老老实实的使用数组,同时配合length
2、使用key-value,全部使用字符串,length不要用
5.数组的长度:length; console.log(b.length);
6.如何判断一个变量是数组?
console.log(b.constructor.name === 'Array' );
7. 数组轮询的方法:
1、for语句配合length
2、for in 例:for (var i in a1) { console.log(a1[i]); } 轮询非稀疏的元素
3、forEach() 例: a1.forEach( function(x){ console.log(x); } ); 只轮询数字的非稀疏的元素
8. 数组的成员函数
concat: 把两个数组合并成一个数组
join : 把数组串行化为一个字符串 例: var a=[1,2,3]; console.log(a.join(' ')); (相当加一个分隔符)
sort: (缺省)把数据按照字符串的ASCII码进行排序,在原数组上操作,不生成新数组
slice: 从数组上选择一部分元素,拷贝,生成新的数组,原数组不受影响
splice: 从数组上截取一部分,原数组受影响
delete:删除数组中的元素
9.数组的性质: 令a.length=0可以清空数组,还有a.splice(0)或者用循环a.pop(),shift清空数组
10. 以下数组的函数都是使用数字的方式添加/删除元素,并且length有效
push: 在数组的尾部增加一个元素
pop: 把数组尾部的元素去掉
shift: 把数组的头部的元素去掉
unshift: 在数组的头部增加一个元素
应用:1、把数组作为一个尾进尾出的栈(后入先出)
2、把数组作为一个头进头出的栈
3、把数组作为一个头进尾出的队列queue(先入先出)
二维数组:var matrix= [ [],[],[]... ];
三维数组: var cubic= [ [ []..],[ []..],[ []...] ];