基础的函数封装方法

155 阅读1分钟

1 任意数求和

  <script>
        function sum(){
            let total = null;
            for (var i=0; i<arguments.length; i++){
                    let cur = Number(arguments[i]);
                    if(!isNaN(cur)){
                        total+=cur;
                    }
            }
            return total;
        }
        console.log(total);
        
    </script>

2 函数的数组去重

        let ary = [100,200,300,200,100,400]
        // 创建一个新duixiang,循环,把每一项既当属性名又当属性值,给对象增加键值对
        function unique (ary){
            let obj = {};
            for (var i=0; i<ary.length; i++){
                obj[ary[i]] = ary[i];                         
            }
            // 新建一个数组,用for in循环遍历对象,把每一个键值对属性值放到新的数组
            let newAry = [];
            for (var key in obj){
                
                newAry.push(obj[key]);
            }
            return newAry;
        }
        console.log(unique (ary));
        
    </script>

3 函数的数组排序

  <script>
        let ary = [12,10,5,7,84,40,50,30]

        function bubble (ary){
            // 首先确定比较的轮数
            for (var i=0; i<ary.length-1; i++){
                // 循环当前轮数
                for (var j=0; j<ary.length-i-1; j++){
                    if(ary[j]>ary[j+1]){
                        // 前后比教 前一项大于后一项就交换位置
                        let cur = ary[j];
                        ary[j] = ary[j+1];
                        ary[j+1] = cur;
                    }
                }
            }
            return ary;
        }
        console.log(bubble (ary));