一、数组(栈空间和堆空间)
- 数组的构造方法赋值
eg:var arr=new Array(1,2,3,4);
new是在对空间开辟的关键字
通过new按照array的类型开辟一个空间
内置基本类型和引用类型存储数据的区别:
a.内置基本类型只有一块栈空间用来存储数据
b.引用类型有两块空间,一快是栈空间,一块的堆空间。栈空间用来存储地址,堆空间用来存储内容;
2.字面量方法赋值
var arr=[1,2,3,4,5];
二、数组:相当于集合 一个变量可以存储多个数据,
1. 数组元素的访问
读取: 数组名[下标];
下标一般从0开始,且为连续的自然数,可以为变量l.kooooooooooo
##三、数组元素的遍历
arr.length 数组的长度
- 遍历:对数组的每个元素执行某种操作
var arr=[1,2,3,4,5]
for( var i=0;i<=arr.length;i++){
lconsole.log(arr[i]);
} - 数组逆序
var arr=[1,2,3,4,5,3];
var t;
for(var i=0; i=arr.length/2 ;i++){
t=arr[i];
arr[i]=arr[len-i-1];
arr[ len-i-1]=t;+
}
四、数组常见API
- push 向数组得末尾添加一个或者多个元素 返回新的长度
- pop 删除数组末尾得最后一个元素 返回被删除得元素
- unshift 向数组得开头添加一个或者多个元素,并返回新的长度
- shift 删除数组第一个元素并返回第一个元素得值
- count 数组拼接,返回新的长度
- splice 返回一个由删除元素组成得新元素(删除数组的某个区间,且可以选择是否通过新元素代替删除区间)splice (起始位置,偏移量),返回被删除的区间
- slice 字符串截取,左闭右开,包左不包右 返回被截取的区间
- reverse 将数组中的元素反转
- join 将数组转换为字符串;返回字符串 默认以逗号分开
10.sort 排序
五、多维数组
- js中没有多维数组的概念,所谓的多为数组是由一维数组的嵌套实现的
var arr=[
[1.2.3],arr[0]
[4,5],
[6,7,8,9]
]
for(var i=0;i<=arr.length;i++){
for(var j=o;j<arr[i].length;j++){
document.write(arr[i][j]+"");
}
document.write("
");
}
六、冒泡排序
1.冒泡排序:针对于数组的一种的排序算法,可以实现数字的大小排列。
2. 从头到尾两两比较,最大的升起来。
外层,第一躺为N-1趟,最后一次不用比较
内层:每趟比较的次数 N-1-i
var t;
for(var i=0;i<arr.length-1;i++){
for(var j=0;j<arr.length-1-i;j++){
if(arr[j]<arr[j+1]){
t=arr[j];
arr[j]=arr[j+1];
arr[j+1]=t;
}
}
}
console.log(arr);