Java Script 数组
(一) 数组的概念
一组数据的集合,存储在单个变量下的优雅方式。
(二) 数组的分类
1.索引数组
2.关联数组
3.二维数组
(三)创建数组
- 利用new 创建数组
var arr=new Array();
- 利用数组字面量创建数组
var arr=[];
var arr1=[1,2,'pink老师',true];
注意数组里边的数据用逗号分割,里面的数据称为数组元素。
(四)获取数组元素(访问)
数组的索引(从0开始)
格式 数组名【索引号】
console.log(arr1);
console.log(arr1[2]);//pink老师
console.log(arr1[3]);//true
没有该数组元素,输出undefined.
(五)遍历数组
把数组中每个元素从头到尾访问一次
var arr=['red','green','blue'];
for(var i=0;i<3;i++){
console.log(arr[i]);//i 是计数器当索引号来实现。
}
(六)数组的长度
使用“数组名.length"可以访问数组元素的数量,即数组长度。
(七)案例
案例1:计算数组的和以及平均值
var arr=[2,6,1,7,4];
var sum=0;
var average=0;
for(var i=0;i<arr.length;i++){
sum += arr[i];//我们加的是数组元素arr[i],而不是计数器i.
}
average=sum/arr.length;
console.log(sum,average);
案例2:求数组中的最大值
var arr[2,6,1,77,52,25,7 ];
var max =arr[0];
for(var i=1;i<arr.length;i++){
if (arr[i]>max){
max=arr[i];
}
}
console.log('该数组里面的最大值是:' + max);
案例3:数组转换为分割字符串
var arr=['red','green','blue','pink'];
var str='';
var sep='!';
for(var i=0;i<arr.length;i++){
str += arr[i]+sep;
}
console.log(str);
(八)数组中新增元素
- 新增数组元素,修改length长度
var arr=['red','green','blue'];
console.log(arr.length);
arr.length=5;//把我们数组的长度修改为了5,里面应该有五个元素。
- 新增数组元素,修改索引号,追加数组元素
var arr=['red','green','blue'];
arr1[3]='pink';
console.log(arr1);
arr1[4]='hotpink';
arr1[0]='yellow'//这里是替换数组元素。
console.log(arr1);
- 课堂案例:数组中新增元素
案例1:把1~10这十个整数存放在一个数组中。
var arr=[];
for(var i=0;i<10;i++){
arr[i]=i+1
}
console.log(arr);
案例2:找出旧数组中大于10的数存放在新数组中。
方法1:
var arr=[2,0,6,1,77,0,52,0,25,7];
var newArr=[];
var j=0;
for(var i=0;i<arr.length;i++){
if(arr[i]>10){
//新数组应该从0开始,依次递增
newArr[j]=arr[i];
j++;
}
}
console.log(newArr);
方法2:
var arr=[2,0,6,1,77,0,52,0,25,7];
var newArr=[];
//刚开始newArr.length的长度是0
for(var i=0;i<arr.length;i++){
if(arr[i]>10){
//新数组应该从0开始,依次递增
newArr[newArr.lngth]=arr[i];
}
}
console.log(newArr);
(九). 数组案例
案例1:删除指定数组元素
要求:将数组[2,0,6,1,77,0,52,0,25,7]中的0去掉,形成一个不包含0的数组。
var arr=[2,0,6,1,77,0,52,0,25,7];
var newArr=[];
for(var i=0;i<arr.length;i++){
if (arr[i]!=0){
newArr[newArr.length]=arr[i];
}
}
console.log(newArr);
案例2:翻转数组
要求:将数组[‘red’,‘green’,‘blue’,‘pink’,‘purple’]中的元素倒序排列
var arr=['red','green','blue','pink','purple'];
var newArr=[];
for(var i=arr.length-1;i>0;i--){
newArr[newArr.length]=arr[i];
}
console.log(newArr);
案例3:数组排序(冒泡排序)
复习:交换两个变量
var num1=10;
var num2=20;
var temp;
temp=num1;
num1=num2;
num2=temp;
console.log(num1,num2);
冒泡排序:是一种算法,把一系列数据按照一定的顺序进行排列显示(从小到大或从大到小)
例如:将数组[5,4,3,2,1]中的元素按照从小到大的顺序排序,输出1,2,3,4,5
var arr=[5,4,3,2,1];
for(var i=0;i<=arr.length-1;i++){//外层循环管躺数
for(var j=0;j<arr.length-i-1;j++){//里面的循环管每一趟的交换次数
//内部交换2个变量的值,前一个和后一个的数组元素相比较
if(arr[j]>arr[j+1]){
var temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
console.log(arr);