js简单计算

本文详细介绍了JavaScript中的数组遍历、添加元素、筛选操作以及函数和arguments对象的使用。通过实例展示了如何求和、找最大值、数组转换、删除元素、翻转数组和冒泡排序。同时,探讨了函数参数处理,包括固定参数和可变参数的处理,以及利用内置对象arguments实现任意数量参数的最大值计算。此外,还提供了数组翻转和冒泡排序的封装函数,以及判断闰年和输出2月天数的函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一.遍历数组

二.数组新增元素

三.筛选数组

四.数组案例

五.函数

 六.arguments

  八.函数案列

一.遍历数组 

1.for循环遍历数组

         遍历:把数组中的每个数访问一下

         arr.length :数组长度,动态监测数组长度,数组数量发生变化时长度也发生变化

        数组 :数组的索引号从0开始,数组的索引数比数组的长度少1

window.onload=function(){
			var arr=['red','green','blank','jack'];
			//for循环遍历数组
			for(var i=0;i<arr.length;i++)
			{
				console.log(arr[i]);
			}
		}

2.遍历数组案例

        1.求数组中元素的和   

var arr1=[3,4,8,9,1];
			var sum=0;
			for (var i = 0;i < arr1.length;i++){
				sum+=arr1[i];
			}
			console.log(sum);

        2.求数组中的最大值

var arr2=[4,1,6,2,8];
			var max=arr2[0]
			for(var i = 1;i<arr2.length;i++){
				if(max<arr2[i]){
					max=arr2[i]
				}
			}
			console.log(max)
		}
	

        3.数组转化为分割字符串

	var arr3=['jack','mak','sdj'];
			var str='';
			for(var i=0;i<arr3.length;i++){
				str+=arr3[i];
			}
			console.log(str)
		}

二.数组新增元素

        1.根据修改数组长度添加

        数组索引:如果索引号没被占用则追加元素,如果占用则替换元素

var arr4=['dd','df','ik'];
			arr4.length=5;
			arr4[3]='ll';
			arr4[4]='ss';
			console.log(arr4);

      2.案列-新建数组存放10个数

        通过for循环来添加

var arr5=[];
		for(var i = 0;i<10;i++){
			arr5[i]=i+1;
		}
		console.log(arr5)
		}

三.筛选数组

        1.筛选出大于10的数

	var arr6=[8,4,52,14,6,32,9,77];
		var newarr=new Array();
		for(var i =0;i<arr6.length;i++){
			if(arr6[i]>10){
				newarr[newarr.length]=arr6[i]
			}
			console.log("newarr:"+newarr)

四.数组案例

        1.删除指定数组元素(数组去重)

         去除0

var arr7=[1,4,5,8,0,9,3];
			var newarr1=[];
			for(var i =0;i<arr7.length;i++){
				if(arr7[i]!=0){
					newarr1[newarr1.length]=arr7[i];
				}
			}
			console.log(newarr1);

        2.翻转数组 

var arri=['dd','ee','rr','tt'];
			var newarr3=[];
			for(var i = arri.length-1;i>=0;i--){
				newarr3[newarr3.length]=arri[i]
			}
			console.log(newarr3);
		}

        3.冒泡排序 

var arr=[10,8,4,2,1];
			var temp='';
			for(var i=0;i<=arr.length-1;i++){
				for(var j =0;j<arr.length-i-1;j++){
					if(arr[j]>arr[j+1]){
						temp=arr[j];
						arr[j]=arr[j+1];
						arr[j+1]=temp;
					}
					
				}
				
			}
			console.log(arr)

五.函数

        1.实参和形参个数一致正常输出,实参个数多余形参个数以形参个数为准,实参个数小于形参个数,则为受值得形参为undefind;

        return后面的函数不执行,没有返回值,return返回undefind

        break:结束当前循环体

        contine:结束某次循环

	function getSum(num1,num2){
				console.log(num1+num2);
			}
			//1.如果是灿哥数和形参个数一致,则正常输出
			getSum(1,20);
		}

      2.利用函数求两个数的最大值

function getMax(num1,num2){
				if(num1>num2){
					return num1
				}else{
					return num2
				}
			}
			console.log(getMax(45,25));

        3.利用函数求数组中的最大值

	var arr=[12,45,10,66];
			
			function getMax(arr){
				var max=arr[0]
				for(var i=1;i<arr.length;i++){
					if(max<arr[i]){
						max=arr[i]
					}
				}
				return max;
			}
			console.log(getMax(arr));

 六.arguments

        1.函数的内置对象,储存专递的所有实参,不确定传递多少参数时使用(function function_name(){}默认)

         2.伪数组:有数组的长度,按索引号存储,没有正真数组的pop() push()等方法

        3.求任意个数的最大值

		function getMax(){
				var max=arguments[0];
				for(var i = 1;i<arguments.length;i++){
					if(max<arguments[i]){
						max=arguments[i]
					}
				}
				return max;
			}
			console.log(getMax(2,4,8,1,44));

  八.函数案列

        1.利用封装函数翻转任意一个数组

function reverse(arr){
			var newArr=[];
			for(var i=arr.length-1;i>=0;i--){
				newArr[newArr.length]=arr[i];
			}
			return newArr;
		}
		var arr2=reverse(['ff','oo','dd']);
		console.log(arr2);
		

        2.利用函数封装冒泡排序

	function sort(arr){
			for(var i=0;i<arr.length-1;i++){
				for(var j=0;j<arr.length-i-1;j++){
					if(arr[j]>arr[j+1]){
						var temp=arr[j];
						arr[j]=arr[j+1];
						arr[j+1]=temp;
					}
				}
			}
			return arr;
		}
		var arr2=sort([4,8,6,1,3]);
		console.log(arr2)

 3.利用函数封装判断是否为闰年

	function isYear(year){
			var flag=false;
			if(year%4==0 && year % 100!=0||year%400==0){
				flag=true;
			}
			return flag;
		}
		console.log(isYear(2000));
		}

4.输入年份,输出当前年份的2月份是多少天


		function isYear(year){
			var flag=false;
			if(year%4==0 && year % 100!=0||year%400==0){
				flag=true;
			}
			return flag;
		}
		console.log(isYear(2000));
			//输出当前年份的2月份是多少天
		function backDay(year){
			var year=prompt("输入年份");
			
			if(isYear(year)){
				alert('29天')
			}else{
				alert('28天')
			}
			
		}
		backDay()

 

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林溪(学习者)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值