一、数组的基础:
1、构造函数创建数组:var arr=new Array(num);//创建了一个长度为num的空数组
2、按值传递:var a=x; var b=a;
如果传递的是原始类型,两者互不影响,因为是复制了一个副本给对方
如果传递的是引用类型,两者相互影响,因为是把自己的地址值给了对方 - 浅拷贝
3、释放一个引用类型,看清楚有多少个变量使用着他,全部都要释放后,才能释放干净 - 尽量的要封装为一个函数
二、hash(关联)数组:下标可以自定义的
1、创建:2步
1、创建一个空数组:var arr=[];
2、添加自定义下标并且赋值:arr["自定义下标"]=新值;
2、访问:arr["自定义下标"];
3、length失效了,永远为0!遍历不能用for循环,必须使用for in
for(var i in arr){
i;//自动得到每一个下标
arr[i];//每一个元素
}
三、数组的API:这些方法只有数组可以使用
1、arr to str:var str=arr.join("自定义连接符");
1、无缝拼接:var str=arr.join("");
2、拼接为页面元素:var str="<开始>"+arr.join("<结束><开始>")+"<结束>";
2、拼接数组:添加的元素的新方式
var newArr=arr.concat(新值1,...,arr2);
3、截取子数组:取出一部分来使用
var subArr=arr.slice(starti,endi+1);
4、删插替:var dels=arr.splice(starti,n,新值1,...);
5、翻转数组:arr.reverse();
6、排序:
arr.sort();//按字符串排序
arr.sort(function(a,b){return a-b});//数字升序
arr.sort(function(a,b){return b-a});//数字降序