一元运算在前在后的区别
加加
var num1 = 10; //++在后面 先参与运算 再自加1 var sum1 = num1++ +10; console.log("sum1的值:"+sum1);//20 console.log("num1的值:"+num1);//11
var num2 = 10;
var sum2 = ++num2 + 10;
//++在前面 先自身加1 再参与运算
console.log("sum2的值:"+sum2)//21
console.log("num2的值:"+num2)//11
减减
var num1 = 10; //--在后面 先参与运算 再自减1 var sum1 = num1-- +10; console.log("sum1的值:"+sum1);//20 console.log("num1的值:"+num1);//9 var num2 = 10; //--在前面 先减1 再参与运算 var sum2 = --num2 + 10; console.log("sum2的值:"+sum2);//19 console.log("num2的值"+num2);//9
判断是否闰年
//普通闰年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年,1999年不是闰年); //世纪闰年:能被400整除的为世纪闰年。(如2000年是闰年,1900年不是闰年); var year = 2000; if(year%4==0&&year%100!=0||year%400==0){ console.log("闰年") } else{ console.log("平年") }
计算利率
//存入银行本金10000,年利率是千分之三, //将本金和利息相加做新的本金,计算5年后 //获得的本金是多少 var money = 10000;//本金 var rate =0.003//千分之三 for(var i=0;i<5;i++){ //money=money+money*rate; money+=money*rate; } //parseInt()取整 console.log(parseInt(money
斐波那契数列
// 有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了 // 一道围墙把一对兔子关在里面。已知一对兔子每个月可以生一 // 对小兔子,而一对兔子从出生后第3个月起每月生一对小兔子。 // 假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月) // 能繁殖成多少对?(兔子的规律为数列,1,1,2,3,5,8,13,21) var numM1 = 1;//第一个月 var numM2 = 1;//第二个月 var sumM1 = 0;//第三个月 for(var i=3;i<=12;i++){ sumM1=numM1+numM2;//第三个月的 numM1=numM2;//第二个月的等于numM2 numM2=sumM1;//第三个月的等于sumM1 //....以此类推 } console.log(sumM1)//144
break关键字:如果在循环中使用,遇到break,则跳出当前所在循环
//找出100~200之间第一个能被7整除的数,结束循环 for(var i=100;i<=200;i++){ if(i%7==0){ console.log("找了是哪个数"+i) break;//退出循环 } }
continue:在循环中如果遇到continue关键字,直接开始下一次循环
//求200-300之间所有的奇数的和(用continue) var sum=0; var i=200; while(i<=300){ //如果被2整除的数 if(i%2==0){ //自身加1,continue执行下一次循环 i++; continue; } sum+=i; i++; } console.log(sum);//12500
求整数1~100的累加值,但要求跳过所有个位为3的数
var sum=0; var i=1; while(i<=100){ //如果个位数为3的跳过 if(i%10==3){ i++; continue; } sum+=i; i++; } console.log(sum)//4570 console.log(13%10==3)//true
求一组数组的最大值和总和以及平均值
var arr=[10,20,30,40,50]; var sum=0; //求总和 for(var i=0;i<arr.length;i++){ sum+=arr[i] } console.log(sum);//150 console.log(sum/arr.length)//30 //求最大值 var max=arr[0]; for(var i=0;i<arr.length;i++){ if(max<arr[i]){ max=arr[i] } } console.log(max)//50
求最小值
//求最小值 var myArray = new Array(); myArray = [10,20,30,40,50,60,70,80,90,100]; //预设数组中某值为最大值 var maxNum =myArray[0]; //循环遍历 for(var i=0;i<myArray.length;i++){ //判断 if(maxNum>myArray[i]){ maxNum=myArray[i] } } console.log(maxNum)//10
倒序遍历
//倒序遍历 var myArray =[10,20,30,40,50,60,70,80,90,100]; for(var i=myArray.length-1;i>=0;i--){ console.log(myArray[i]); }
//100,90,80,70,60,50,40,30,20,10
把数组的每个元素用|拼接到一起
//把数组中的每个元素用|拼接到一起 var names = ["卡卡西","黑崎一护","凤姐","数组","马丁路德金"] var str=""; for(var i=0;i<names.length-1;i++){ str+= names[i]+"|" } console.log(str+names[names.length-1]); //卡卡西|黑崎一护|凤姐|数组|马丁路德金
去掉数组中重复的0,把其他的数据放在一个新的数组中
//去掉数组中重复的0,把其他的数据放在一个新的数组中 var arr= [10,0,20,0,30,0,50]; var newArr=[];//创建新的数组存储所有非0的数字 for(var i=0;i<arr.length;i++){ if(arr[i]!=0){ //newArr索引为0 数字放入 长度改变 newArr[newArr.length]=arr[i]; } } //把新数组的长度作为下标使用,数组的长度是可以改变的 console.log(newArr)//(4) [10, 20, 30, 50]
反转数组--把数组中的数据的位置调换
//反转数组--把数组中的数据的位置调换 var arr=[10,20,30,40,50,60,70]; //循环的目的是控制交换的次数 for(var i=0;i<arr.length/2;i++){ //先把第一个元素的值放在第三方变量中 var temp=arr[i]; //将第一个元素和最后一个数交换 arr[i]=arr[arr.length-1-i]; arr[arr.length-1-i]=temp; } console.log(arr)
var myArray = [20,30,40,50,60,70,80,90,100,110,120,130,140,150,160];
//控制交换的次数
for(var i=0;i<myArray.length/2;i++){
//将第一个元素的值放在第三方变量
var tem = myArray[i];
//将数组最后一个元素的值赋给第一个元素
myArray[i]=myArray[myArray.length-1-i];
//将第三方变量的值赋给数组最后一个元素
//完成交换
myArray[myArray.length-1-i]=tem;
}
console.log(myArray);
提示用户输入班级人数,求总成绩,平均值,最高分,最低分
//prompt("弹出一个输入框 ") var perCount = parseInt(prompt("请输入班级人数")); var perArray=[]; for(var i=0;i<perCount;i++){ perArray[perArray.length]=parseInt(prompt("请输入第"+(i+1)+"个人的成绩")) } console.log(perArray) var str=0; for(var i=0;i<perArray.length;i++){ str+=perArray[i]; } console.log("总成绩:"+str); console.log("平均成绩为:"+str/perCount) var avg=perArray[0] for(var i=0;i<perCount;i++){ //判断大于则赋值 if(avg<perArray[i]){ avg=perArray[i]; } } console.log("最高分:"+avg) var avg2=perArray[0] for(var i=0;i<perCount;i++){ //判断小于则赋值 if(avg2>perArray[i]){ avg2=perArray[i]; } } console.log("最低分:"+avg2)
冒泡排序
//冒泡排序 树有数据按照一定的顺序进行排列(从小到大,从大到下) var arr=[100,10,0,50,60,40,90]; //控制比较的轮数 for(var i=0;i<arr.length-1;i++){ //控制每一轮对比的次数 for(var j=0; j<arr.length-1-i;j++){ //如果前者大于后者的就往后面排 if(arr[j]>arr[j+1]){ //交换变量 tem=arr[j]; arr[j]=arr[j+1]; arr[j+1]=tem; } } } console.log(arr)//(7) [0, 10, 40, 50, 60, 90, 100]
第二天有点久啊 -_-