数组:一组有序的数据
数组的作用:可以一次性存储多个数据
数组的定义:
1.通过构造函数创建数组
语法 var 数组名=new Array();
var array = new Array();//定义一个数组
var 数组名 = new Array(长度);
2.通过字面量的方式创建数组
var 数组名=[];//空数组
var array=[];
数组元素:数组中存储的每个数据,都可以叫数组的元素,存储三个数据,就有三个元素
数组长度:就是数组元素的个数,比如有三个元素,这个数组的长度是三
数组索引(下标):用来存储或者访问数组的元素,索引从0开始,到长度减1结束
注意:在js中,数组可以存储不能类型的数据,java不能。
获取数组的值,通过索引的方式
eg:1.求数组中的最小值
var array =[10,5,20,30,8,7];
var min =array[0];//假设第一个元素是最小值
for(var i=0;i<array.length;i++){
//如果最小值都比数组里面的数大,那么把你的值给我
if(min>array[i]){
min=array[i];
}
}
console.log(min);
2.反转数组,首尾交换位置
思路:5个数交换位置需要两次,6个数交换位置需要3次,所以循环次数是数组长度的一半
var arr =[10,20,30,40,50];
for(var i=0;i<arr.length/2;i++){
var temp=arr[i];
arr[i]=arr[arr.length-1-i];
arr[arr.length-1-i] =temp;
}
console.log(arr);
3.冒泡排序
var arr=[10,8,20,7,6,50,3];
//外循环控制比较的轮数,假如5个数比较需要比较4次,所以循环次数是长度减一次
for(var i=0;i<arr.length-1;i++){
//内循环控制每一轮比较次数,假如5个数,i从0开始,第一轮比较需要4(length-1-0)次,第二轮比较需要3(length-1-1)次,第三轮比较需要2(length-1-1-1)次,
//可推导出第i次时为(length-1-i)
for(var 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;
}
}
}
console.log(arr);