1,数组
+是一个js中的复杂数据类型
+是一个‘盒子’,内部存放一堆数据,所有数据是按照 索引(下标) 排列的
+索引(下标):从0开始,依次+1
2。数组数据类型的创建
2-1。字面量方式
=>创建空数组: var arr=[]
=>创建带有数据的数组:var arr =[数据1,数据2,...]
2-2。内置构造函数创建
=>创建空数组:var arr = new Array()
=>创建一个指定长度的数组:var arr = new Array(数字)
->数字表示数组的长度,所有的内容都用empty填充
=>创建带有数据的数组:var arr = new Array(数据1,数据2,...)
->没有表示长度的数据了,所有的内容都是数组里面的真实数据
3。数据的常用的属性
3-1。数组的length属性
+是一个读写的书写
+读:
=>语法:数组.length
=>得到的就是数组的长度,也就是数组中有多少个数据
+写:
=>语法:数组.length =数字
=>作用:修改数组的长度
->如果你设置的length和原始数组的length一样,那么相当于没有设置
->如果你设置的 length比原始数组的 length小,那么从后面开始删除
->如果你设置的 length 比原始数组的 length 大,那么空出来的位置用empty 填充
3-2。数组的索引属性
+是一个读写的属性
+读:
=>语法:数组[索引]
=>获取该索引位置的数据
->如果数组中有该索引位置,那么就是该索引位置的数据
->如果数组中没有该索引位置,那么就是undefined
+写:
=>语法:数组[索引]=值
=>修改数组中某一个索引位置的数据
->如果你设置的索引位置存在,那么就是修改
->如果你设置的索引位置不存在,那么就是增加
+你如果你设置的索引和 length一样,表示在数组后面追加
+你如果设置的索引比 length大,那么中间空出来的位置使用empty补齐
3-3.遍历数组
+使用for循环进行遍历
+示例:
for(var i=o;i<arr.length;i++){
//在循环内 arr[i]就是数组中的每一个数据
}
4数组排序
4-1 冒泡排序
for(var i=0 ;i<arr.length-1;i++){
for(var j=0;j<arr.length-1-j;j++){
if(arr[j]>arr[j+1]){
var tmp= arr[j]
arr[j]=arr[j+1]
arr[j+1]=tmp
}
}
}
4-2 选择排序
for(var j= 0;j<arr.length-1;j++){
var minIndex=j
for(var i=j+1;i<arr.length;i++){
if(arr[i]<arr[minIndex]){
minIndex=i
}
}
var tmp=arr[j]
arr[j]=arr[minIndex]
arr[minIndex]=tmp
}