天天看点

前端笔试题练习笔记:函数参数按照从小到大的顺序排序、数字格式化

(1)写一个mySort()函数,使得其参数按从小到大的顺序排列,参数个数未知

方法一:

使用插入排序法

function mySort () {
             var tags = new Array();//使用数组作为参数存储容器
             tags[]=arguments[];
            for(var i=;i<arguments.length;i++){
                for(var j=;j<tags.length;j++){
                    if(arguments[i]<tags[j]){
                        for(var k=tags.length-;k>j;k--){
                            tags[k+]=tags[k];
                        }
                        tags[j+]=tags[j];
                        tags[j]=arguments[i];
                        break;
                    }
                }

    }
    return tags;
}
mySort(,,,,,);
           

方法二

使用JavaScript的Array对象自带的sort()方法

function mySort () {
             var tags = new Array();//使用数组作为参数存储容器
              for(var i = ;i < arguments.length;i++) {
                    tags.push(arguments[i]);
                }
             tags.sort(function sortNumber(a,b){return a - b});
             return tags;
        }
var result=mySort(,,,,,);   
console.log(result);
           

(2)将数字格式化,比如9999999==》999,999,9每隔三维添加个逗号

答案:每次取三个压入数组,最后用join函数合并输出

function numberFormat(num){
    if(num.constructor==Number){
        num=num.toString();
    }
    var result=[];
    for(var i=;i<num.length;i++){
        result.push(num.substr(i,));
        i+=;
    }
    return result.join();
}