today JavaScript 数组方法

二维数组

var arr=[[1,2,3],["a","b","c",["d","e","f"]],450];
			alert(arr[1][3][1]);//多重嵌套

数组编历
遍历数组通俗点就是说把数组中的每个数都读一遍(部分有if条件+break的则可能不会完全遍历),你可以对于数组中的每个数进行处理,亦或者是找到数组中那个你需要的数。
1.普通编历

var arr=[1,2,3,4,5,6,7,8,9];
			for(var i=0;i<arr.length;i++){
				document.write(arr[i]+"<br>")

2.forEach遍历

var arr=[1,2,3,4,5,6,7,8,9];
			var m="";
			arr.forEach(foreach);
			alert(m);
			function foreach(n){
				m=m+n;
			}

3.filter

var arr=[1,2,3,4,5,6,7,8,9];
arr3=arr.filter(Arr);
			function Arr(n){
				return n>=5;
			}
			alert(arr3);
			alert(arr);
			filter不会对原数组产生变化,可以对数组的元素执行函数后,来创建新数组

4.reduce

var arr=[1,2,3,4,5,6,7,8,9];
			sum =arr.reduce(Arr);
			function Arr(m,n);{
				return m+n;
			}
			alert(sum);
			alert(arr);

查找指定数

var arr=[10,2,8,22,16,4,10,6,14,20,18];
			var n=Number(prompt("请输入要查找的元素"));
			//要求:返回要查找元素的下标(如果这个元素数组里没有怎么办)
			var index=-1;//提前判断这数字是否存在
			if(arr.indexOf(n)==index){
				alert("改数字不存在")
			}else{
				alert("该数字的下标为"+arr.indexOf(n))//数字存在,所以输出下标
			}

案例:优秀班级有三个班级,每个班级有十个人,输出各班的平均分和最优秀班级是哪个优秀班级:平均分最高每个班级分数自己写,(用二位数组)

//有三个班级,每个班级有10人,求他们平均分和平均分最高的班级
			oneClass=[50,89,78,45,68,45,28,48,94,85];
			twoClass=[15,49,65,48,78,64,84,43,95,49];
			threeClass=[68,75,48,95,85,67,45,35,85,45];
			//求平均分
			function Arr(m,n){
				return m+n;
			}
			oneClassAvg=oneClass.reduce(Arr)/10;
			twoClassAvg=twoClass.reduce(Arr)/10;
			threeClassAvg=threeClass.reduce(Arr)/10;
			//alert(oneClassAvg);
			//求最大值
			var sumClassAvg=[];
			sumClassAvg.unshift(oneClassAvg,twoClassAvg,threeClassAvg);
			//alert(sumClassAvg);
			var maxIndex=0;
			for(var i=1;i<sumClassAvg.length;i++){
				if(sumClassAvg[i]>sumClassAvg[maxIndex]){
					maxIndex=i;
				}
			}
			var maxClass="";
			//找出最大值班级
			if(maxIndex==0){
				maxClass="一班"
			}
			if(maxIndex==1){
				maxClass="二班"
			}
			if(maxIndex==2){
				maxClass="三班"
			}
			alert("一班平均分为"+oneClassAvg+"\n"+"二班平均分为"+twoClassAvg+"\n"+"三班平均分为"+threeClassAvg+"\n"+maxClass+"是优秀班级,平均分为"+sumClassAvg[maxIndex])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值