二阶段 core-day01

66 阅读1分钟

一、数组的基础:

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});//数字降序