函数****对比数字大小
用三元不等式的写法:
//对比两个数的大小 function getMax(x,y){ return x>y?x:y; }; console.log(getMax(10,30)); //对比三个数的大小 function getShreeMax(x,y,z){ return x>y?(x>z?x:z):(y>z?y:z); }; console.log(getShreeMax(10,45,5));
用函数对比一组数字的大小:
//对比一组数组的大小:求最大。 function getMaxNumber(array){ var Max=array[0]; //把第一个元素看做是最大的。然后拿它跟数组的每个元素比较 for(var i=1;i<array.length;i++){ if(Max<array[i]){ Max=array[i]; }; }; return Max; }; var arr=getMaxNumber([1,2,4,53,543,234]); //array是一个数组。所以要定义一个数组; console.log(arr);
求一组数组的和:
//求一组数组的和 function getSum(array){ var Sum=0; for(var i=0;i<array.length;i++){ Sum+=array[i]; }; return Sum; }; var arr=getSum([1,45,8,99,66,789,0]); console.log(arr);
求一组数组的和【优化】:
function getSum(){ var sum=0; for(var i=0;i<arguments.length;i++){ sum+=arguments[i]; //伪数组 }; return sum; }; console.log(getSum(1,5,8,45,89,456));
冒泡函数
function sortArray(array){ //循环的轮数 for(var i=0;i<array.length-1;i++){ //对比的次数 for(var j=0;j<array.length-1-i;j++){ //为什么要减i。因为每轮的对比次数都要少一次 //应该是j+1的元素跟J元素依次对比 if(array[j+1]>array[j]){ //注意:不能用i的值。如果用i的话就永远是第一元素跟后面的元素对调。第一个元素就会不断的改变 var tamp=array[j+1]; //用第三变量来交换数据 array[j+1]=array[j]; array[j]=tamp; }; }; };//end for return array; }; console.log(sortArray([1,2,3,4,7,8]));
斐波那契数列:
//斐波那契数列 //1 1 2 3 5 8 13 21 //规律:第一个+第二个数=第三个数 function getFibonacci(num){ var num1=1; var num2=1; var sum=0; for(var i=3;i<=num;i++){ //从第三个数开始 sum=num1+num2; //让第三个数的值=前面两个的值 //此时第三个数的值已经知道为sum,接下来就是下一轮的计算 num1=num2; //让第一个的值等于第二个的值 num2=sum; //让第二个的值等于第三个数的值 }; return sum; }; console.log(getFibonacci(12)); </script>