09-数组和函数案例/输入年月日,判断第几天/翻转数组/斐波那契数列/两个数之间的素数/数组去重/冒泡排序/定义一个含有30个元素的数组,按顺序分别赋予从2开始的偶数,然后按顺序每五个

小案例

	//案例1:求数组中所有元素之和:
		var arr1 = [10,20,30,40,50,60,70,80,90,100];
		var sum = 0;
		for (var i = 0; i < arr1.length; i++) {
			// console.log(arr1[i]);
			sum += arr1[i];
		}
		console.log(sum);


		//案例2:求数组中所有元素的平均值
		var arr2 = [1,2,3,4,5];
		var sum2 = 0;
		for (var i = 0; i < arr2.length; i++) {
			sum2 += arr2[i];
		}
		console.log(sum2/arr2.length);


		//案例3:求数组中所有元素中的最大值
		var arr3 = [1,2,3,4,10,100,50];
		//假设max变量中存储的是最大值
		var max = arr3[0];
		for (var i = 0; i < arr3.length; i++) {
			//判断这个变量的值和数组中每个元素的值是不是最大值
			if (max<arr3[i]) {
				max = arr3[i];
			}
		}
		console.log("最大值:"+max);

		//案例4:求数组中所有元素中的最小值
		var arr4 = [100,10,20,30,40,50];
		var min = arr4[0];//假设min里面存储的就是最小值
		for (var i = 0; i < arr4.length; i++) {
			if (min > arr4[i]) {
				min = arr4[i];
			}
		}
		console.log("最小值:"+min);


		//案例5:倒序遍历数组
		var arr5 = [10,20,30,40,50,100];
		//正序
			// for (var i = 0; i < arr5.length; i++) {
			// 	console.log(arr5[i]);
			// }
		//倒序
			for (var i = arr5.length-1; i >= 0; i--) {
			    console.log(arr5[i]);
			}

输入年月日,判断第几天

//输入年月日 获取这个日期是这一年第几天
	 	//判断这个年份是不是闰年
	 	function isLeapYear(year) {
	 		return year%4==0&&year%100!=0||year%400==0;
	 	}
	 	//年----月----日:2019年12月19日
	 	function getDays(year,month,day) {
	 		// 定义变量存储对应的天数
	 		var days = day;
	 		//如果用户输入的是一月份 没必要向后算天数 直接返回天数
	 		if (month == 1) {
	 			return days;
	 		}
	 		//代码执行到这里时-----证明用户输入的不是1月份
	 		//定义一个数组 存储每个月份的天数
	 		var months = [31,28,31,30,31,30,31,31,30,31,30,31];
	 		//是不是输入的月份-1
	 		for (var i = 0; i < month-1 ; i++) {
	 			days += months[i];
	 		}
	 		//判断是不是润年
	 		if (isLeapYear(year)&&month>2) {
	 			days++;
	 		}
	 		return days; 31+28+31+30+31+30+31+31+30+31+30+19
	 	}
	 	console.log(getDays(2019,12,31))

翻转数组

//案例8:反转数组------------把数组中的数据的位置进行调换
			var array = [10,20,30,40,50];
			//循环 控制交换次数
			  // for(var i = 0;i < array.length / 2;i++){
			  // 	  //先把第一个元素的值放在第三方变量中
			  // 	  var temp = array[i];
			  // 	  array[i] = array[array.length-1 - i];
			  // 	  array[array.length-1-i] = temp;
			  // }  
			  // console.log(array);

			  for(var i = array.length-1;i>=0;i--){
			  	console.log(array[i]);
			  }    
			  console.log(array);  

斐波那契数列

	function getFib(num) {
		var num1 = 1;
		var num2 = 1;
		var sum = 0;
		for (var i = 3; i <= num; i++) {
			sum = num1 + num2;
			num1 = num2;
			num2 = sum;
		}
		return sum;
	}
	console.log(getFib(12));
	

	// function getNum(num) {
	// 	var num1 = 1;
	// 	var num2 = 0;
	// 	var sum = 0;
	// 	for (var i = 1; i <= num; i++) {
	// 		num2 = num1;
	// 		num1 = sum;
	// 		sum = num1 + num2;
	// 	}
	// 	return sum;
	// }
	// console.log(getFib(3));	

素数

<input type="text" placeholder="开始" id="kaisi">
    <input type="text" placeholder="结束" id="jieshu">
    <button id="jisuan">计算</button>
    <script>
        jisuan.onclick = function(){
            // 获取开始数字
            var n = +kaisi.value;
            // 获取结束数字
            var m = +jieshu.value;
            //第一次进去,把所有数都看做素数
            for(n;n <= m;n++){
            // 用flog等于true表示
                var flog = true;
            //第二次进去
            for(var j=2;j<n;j++){
            // 对比自己小的所有数求余,等于零说明不是素数,将flog改为false;
                if(n%j === 0){
                flog = false;
                    }
                }
            // 如果flog为true,说明该数为素数,打印出来
            if(flog){
                console.log(n)
                }           
            }       
        }
      
    </script>

数组去重

   function norepeat(arr){
            for(var i=0;i<arr.length;i++){
                for(var j=i+1;j<arr.length;j++){
                   if(arr[i] === arr[j]){
                       arr.splice(j,1);
                       j--;
                   }
                }
            }
            return arr;
          }
          var a=[1,3,2,3,4,3,4,5,6,7,7,8,9,8]
          var b =norepeat(a);
          console.log(b);
          var a=[1,3,3,3,4,3,4,1,7,7,7,8,9,8]
          var b =norepeat(a);
          console.log(b);

冒泡排序

 <script>
        function paixu(arr){
           for(var i=0;i<arr.length;i++){
               for(var j=i+1;j<arr.length-1;j++){              
                   if(arr[i]>arr[j]){   
                      var cun =arr[i];                       
                      arr[i]=arr[j]; 
                      arr[j]=cun;
                   }
               }
           }
           return arr;
        }
        var a=[2,34,2,5,4,35];
        var b =paixu(a);
         console.log(b);
    </script>
    <script>
        function paixu(arr){
            for(var i=0;i<arr.length;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 a=[2,3,4,56,7,12,4,23,43,56];
        var b =paixu(a);
         console.log(b);
    </script>

定义一个含有30个元素的数组,按顺序分别赋予从2开始的偶数; 然后按顺序每五个数求出一个平均值,放在另一个数组中并输出。

 // 定义30个元素的数组
        var array =new Array(30);
        // 偶数赋值过度变量
        var k =0;
        // 每一项数之前的和
        var sum =0;
        // 输出数组
        var shuchu =new Array(6);
        // 保存之前逐级排列5个数的和;
        var m =0;
        // 新数组的下标
        var b =0;

        // 循环原始数组,将偶数赋值给每一个下标,k作为赋值的偶数计算
        for(var i=0;i<array.length;i++,k+=2){
            array[i]=k+2;
        };
        // 循环新数组
        for(var j=0;j<array.length;j++){
        // 求出每一项数之前的和
            sum =sum+array[j];
        // 如果当前下标加1可以对5求余等于0,说明每次的5个数够了
            if((j+1)%5===0){
        // 用当前数之前的所有数之和,减去除了现在需要的五个数之前所有数的和
                shuchu[b++]=(sum-m)/5;
        // 将现在的和重新赋值给之前的和
                m=sum;
            }
        }
        console.log(array);
        console.log(shuchu)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值