JavaScript-day15-个人学习笔记
一、数组
1、什么是数组:一组连续的变量组成的集合——统一起一个名字批量管理多个数据
2、声明数组
(1)声明一个空数组变量:var 数组名 =[];
(2)声明数组并赋初始值:var 数组名 = [数据1,数据2,数据3,... ...];
(3)声明一个空数组变量:var 数组名 = new Array();
(4)声明一个数组并赋初始值:var 数组名 = new Array(数据1,数据2,... ...);
3、数组是引用类型的对象:引用类型的对象是将数据保存在 "堆" 中的,在"栈"中,会对 "堆" 中数据的地址进行引用
(1)将数组赋值给其它变量时,实际赋的是数组的地址
(2)数组在做参数的时候,传递进去的实际上是地址
(3)null:表示的是让引用类型的对象不再指向任何空间.一般用于主动释放对象的空间
4、访问数组的元素——赋值,取值,都是使用 下标 来完成的
(1)为数组的元素赋值:数组名[下标] = 值;
(2)获取数组中的值:数组名[下标];
(3)length属性——作用:获取数组的长度。a、允许将数组的length属性值设置为0,来完成数组元素的清空操作;b、配合循环 做数组的循环遍历操作;c、配合着数组,找到最新元素要插入的位置
5、关联数组——可以自己定义下标名称的数组
(1)创建关联数组
var fbb=[];
fbb["sname"]="范冰冰";
fbb["shx"]=90;
(2)如何访问关联数组中的元素:fbb["sname"];
(3)关联数组中的.length属性失效!
(4)关联(hash)数组:下标是不能重复的
优势:利用Hash算法,精确定位某个下标的位置,不用遍历。有利于按内容查找元素
(5)遍历关联数组:依次遍历arr中每个元素,将当前元素的下标存入key中
for(var key in arr){
key,仅得到当前元素的下标
arr[key],得到当前元素的值!
}
6、冒泡排序:车轮战,两两比较,小的靠前
特点:(1)轮数 :共比较了 length - 1 轮;(2)每轮中比较的次数:随着轮数的增加,次数反而减少
双层循环表示整个排序的过程:(1)外层循环 :控制比较的轮数,从1开始,到length-1(能取到)结束;(2)内层循环 :控制每轮中比较的次数,并且也要表示参与比较的元素的下标,从0开始,到 length-1-i(轮数变量)
var arr=[2,4,66,45,23,54,67,56,34];
function sortarr(){
for(i=0;i<arr.length-1;i++){
for(j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
var temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
return arr;
}
console.log(sortarr());