js学习笔记2

本文详细介绍了JavaScript中数组的基本操作,包括遍历、求和、查找最大值、字符串转换、数组长度调整、筛选元素以及使用函数进行重复代码抽象和返回值处理,最后展示了如何判断一个数是否为素数的函数实例。
摘要由CSDN通过智能技术生成

 //数组(Array)⭐

        //数组字面量创建数组   var arr=[](空数组)

        //获取数组元素:;利用索引(下标);

        /* var arr=[1,2,3,4];

        console.log(arr[3]); */

        //遍历

        /* var arr=[1,2,3,4,5,'李鑫','fuzhen'];

        for(var i = 0 ; i < arr.length ; i++ ){      //i从0开始      数组长度:数组名.length

            console.log(arr[i]);

        } */

       

        //求和案例

        /* var arr=[2,6,1,7,4];

        var sum=0,average=0;

        for(var i=0;i<arr.length;i++){

            sum=sum+arr[i];           //数组元素是arr[i]

        }

        average=sum/arr.length;

        console.log(sum,average); */

        //最大值案例

        /* var arr=[2,6,1,9,8,0,-1];

        var max=arr[0];

        for(var i = 0; i<arr.length ;i++){

            if (arr[i]>max){

                max = arr[i];

            }

        }

        console.log(max); */

        //转换成字符串

       /*  var arr=['app','red','green','blue'];

        var sum=''

        var sep='|';

        for(var i=0;i<arr.length;i++){

            sum=sum+arr[i]+sep;

        }

        console.log(sum); */

        //新增数组元素

       /*  1.

        var arr=['wq','er','ty'];

        console.log(arr.length);

        arr.length=5;

        console.log(arr);

        arr[3]='as';

        arr[4]='df';

        console.log(arr); */

        /*2.

        var arr=['wq','er','ty'];

        arr[3]='zx';//新增了

        arr[0]='xc';//原有元素会被替换掉

        console.log(arr); */

        //

        /* var arr=[];

        for(var i=0;i<10;i++){

            arr[i]=i;        //不要写成arr=i,这是直接将整个数组赋值了,就没有之前存的值了

        }

        console.log(arr); */

        //筛选数组

        /* var arr=[1,3,5,7,99,22,80];

        var newArr=[];

        var j=0;

        for(var i=0;i<arr.length;i++){

            if(arr[i]>10){

                // newArr[i]=arr[i];   //新数组不能从i开始,得从0开始

            /* 1.

            newArr[j]=arr[i];

               j++; */

            2.

            //

           /*  newArr[newArr.length]=arr[i];//最开始长度为0,所以第一个赋值给了newArr[0],然后赋值之后有了一个元素,长度变为了1,所以第二个值付给了newArr[1];

            } *

        }

        console.log(newArr); */

        //案例1,去除0

       /*  var arr=[2,0,13,1,77,0,71,0,23];

        var newArr=[],j=0;

        for(var i=0;i<arr.length;i++){

            if (arr[i]!=0){

                newArr[newArr.length]=arr[i];

            }

        }

        console.log(newArr); */

        //翻转数组

        /* var arr=['qw','qa','sd','sz','ey'];

        var newArr=[],j=0;

        for(var i=arr.length-1;i>=0;i--){

            newArr[j]=arr[i];

            j++;

        }

        console.log(newArr); */

        //冒泡排序

        /* var arr=[5,3,2,4,1];//

        var a=0;

        for(var i=0 ; i<arr.length-1;i++)   //外层循环管的是趟数,比如5个数要走4趟     (能理解为,第一个数在第四趟一定会得出最后结果,第二个数在第三趟会得出结果(因为一定有一个最大数会被选出来排在最后))

        {

            for(var j=0;j<arr.length-i-1;j++){  //内层循环管的是一趟会比较多少次(最多交换多少次),比如5个数第一趟会交换4次,第二趟会交换三次

                if (arr[j]>arr[j+1]){

                    var temp=0;

                    temp=arr[j];   //交换数

                    arr[j]=arr[j+1];;

                    arr[j+1]=temp;

                }

            }

        }

        console.log(arr); */

        //函数:执行大量重复代码  function是声明函数的关键字  声明:function 函数名(){函数体}     函数名()就可以被执行

        // 1.声明

        /* function getSum() {

            var sum=0;

            for(var i=1;i<=100;i++){

                sum=sum+i;

            }

            console.log(sum);

        }

        //2.调用

        getSum(); */

        //利用函数参数实现函数重复不同的代码   声明:function 函数名(形参(形式上的参数)1,形参2,···){函数体}     函数名(实参(实际的参数)1,实参2,···)就可以被执行    形参是接受实际参数的

        //案例  求两数的和

        /* function getSum(num1,num2){

            var num=num1+num2;

            console.log(num);

        }

        getSum(1,2);

        getSum(3,90); */

        //求两数之间的和

        /* function getSum1(start,end) {

            var sum=0;

            for(var i=start;i<=end;i++){

                sum=sum+i;

            }

            console.log(sum);

        }

        getSum1(1,100);

        getSum1(1,50); */

        //函数形参与实参不匹配问题

        //1.如果实参多余形参,则取到形参个数为止

        //2.如果实参少于形参,多的形参未接收到值就是undefined(形参的默认值),所以最终结果是实参加上undefined=NAN。

        //尽量让形参和实参数量一致

        //函数返回值     函数里不该有输出语句,一般是将结果返回给调用者   通过return实现

        //案例

       /*  function cook(aru) {

            return aru;

        }

        console.log(cook('大肘子')); */

        //优化前面的案例(求两数之间的和)

        /* function getSum1(start,end) {

            var sum=0;

            for(var i=start;i<=end;i++){

                sum=sum+i;

            }

            return sum;

        }

        console.log(getSum1(1,100),getSum1(2,50)); */

        //案例:求两数的最大值

       /*  function max(num1,num2) {

            /* if(num1>num2){

                return num1;

            }else{

                return num2;

            } *

            return num1 > num2 ? num1 : num2;

        }

        console.log(max(1,2),max(3,9)); */

        //案例:求一组数中的最大值

        /* function getMax(arr){   //接受数组

            var max=arr[0];

            for(var i=1;i<arr.length;i++){

                if (arr[i]>max){

                    max=arr[i];

                }

            }

            return max;

        }/*

        console.log(getMax([2,3,4,5,6,7,8,9]));  //送出数组

        var re=getMax([2,3,4,5,6,7,8,,9]);   //一般是这种格式

        console.log(re); */

        //return只能返回一个结果,return具有终止函数的作用,所以return一般写在最后

        /* function resu(n1,n2) {

            return [n1+n2,n1*n2];   //如想得到多个结果可以利用数组输出

        }

        var re=resu(1,2);

        console.log(re); */

        //函数里有return时,就返回的return的值,如果函数没有return 就返回undefined

        //作业:判断一个数是否为素数  !!!!成功!!!

        function isSushu(num){

            for (var i=2;i<num;i++){

                if(num%i==0){

                   return num+'不是素数';

                }

            }

            if(num<=3){        //这些情况不要写在循环里

                return num+'是素数';

            }else if(i>num-1){

                return num+'是素数';

            }

        }

        console.log(isSushu(62));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值