给孩子的html-js编程课 第四课时:数组 附习题

1、三个变量的排序

let a=24,b=30,c=18;
//找出最大值
if(a<b){
	a=b;
}
if(a<c){
	a=c;
}
console.log("max:"+a);

如果有更多的变量就会更繁琐
数组可以认为是n个变量组合在一起,通过规律的名字访问。

<html>
<body>
<script type="text/javascript">

let mycars = new Array()
mycars[0] = "Saab"//数组的访问是从0开始
mycars[1] = "Volvo"
mycars[2] = "BMW"
//第一种方式遍历访问数组元素
for (let x in mycars)
{
console.log(mycars[x]);
}
//第二种方式遍历数组

for(let x=0;x<3;x++){
console.log(mycars[x]);
}
//第二种方式的改进
for(let x=0;x<mycars.length;x++){
console.log(mycars[x]);
}
//数组下标不要越界
console.log(maycars[5]);//undefined

</script>
</body>
</html>

js对变量的定义比较松散,c语言里如果数组定义为某种类型的值,那就只能存放这种类型。在js里,mycars[0]=1,mycars[1]="vw"是不会报错的,但是还是建议养成良好的习惯,数组的值到底是什么类型要提前做好规划。

//数组的值一开始不是很确定,可以先定义数组,然后逐个元素赋值。
//如果确定数组的元素个数为20,可以在new的时候使用 new Array(20)来定义
let num= new Array(20);
 num[0]=90;//假设有20个值,那么可以写20个赋值的语句。

//如果数组的值是个确定的组合,可以直接使用方括号批量赋值
let num=[90,87,95,98];
//可以在控制台输出数组查看具体内容,输出数组全体内容的时候不写下标
console.log(num);//不写下标,输出数组全体元素
console.log(num[0]);//写下标,输出某个元素


数组相当于一个表格,对表格里元素的基本操作为增改删查。
增:可以用下标直接增加元素
删:num.pop()//删除数组最后一个元素
改和查可以利用下标直接访问。

用splice方法改变数组,实现增,改,删。
splice(index,len,[item])
splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值
index:数组开始下标 len: 替换/删除的长度 item:替换的值,删除操作的话 item为空

//删除起始下标为1,长度为1的一个值(len设置1,如果为0,则数组不变) 
let arr = ['a','b','c','d']; 
arr.splice(1,1); 
console.log(arr); 
//['a','c','d']; 
 
 
//删除起始下标为1,长度为2的一个值(len设置2) 
let arr2 = ['a','b','c','d'] 
arr2.splice(1,2); 
console.log(arr2); 
//['a','d'] 

//替换起始下标为1,长度为1的一个值为‘ttt',len设置的1 
var arr = ['a','b','c','d']; 
arr.splice(1,1,'ttt'); 
console.log(arr); 
//['a','ttt','c','d'] 
 

var arr2 = ['a','b','c','d']; 
arr2.splice(1,2,'ttt'); 
console.log(arr2); 
//['a','ttt','d'] 替换起始下标为1,长度为2的两个值为‘ttt',len设置的1 


//添加 ---- len设置为0,item为添加的值 
var arr = ['a','b','c','d']; 
arr.splice(1,0,'ttt'); 
console.log(arr); 
//['a','ttt','b','c','d'] 表示在下标为1处添加一项'ttt' 

习题:
1、新建一个数组,输出这个数组的所有元素
2、在数组最后增加一个元素
3、在数组最前面增加一个元素,原有元素向后移动。
4 、删除数组的某个元素
5、删除数组的最后一个元素
6、用循环访问数组,找出数组元素的最大值
7、数组排序(升序,降序)
8、数组值求平均值
9、数组中值大于90的元素个数,并求平均值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值