Java Script数组笔记

Java Script 数组

(一) 数组的概念
一组数据的集合,存储在单个变量下的优雅方式。
(二) 数组的分类
1.索引数组
2.关联数组
3.二维数组
(三)创建数组

  1. 利用new 创建数组
var arr=new Array();
  1. 利用数组字面量创建数组
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);

(八)数组中新增元素

  1. 新增数组元素,修改length长度
var arr=['red','green','blue'];
console.log(arr.length);
arr.length=5;//把我们数组的长度修改为了5,里面应该有五个元素。
  1. 新增数组元素,修改索引号,追加数组元素
var arr=['red','green','blue'];
arr1[3]='pink';
console.log(arr1);
arr1[4]='hotpink';
arr1[0]='yellow'//这里是替换数组元素。
console.log(arr1);
  1. 课堂案例:数组中新增元素
    案例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);
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值