天天看點

前端筆試題練習筆記:函數參數按照從小到大的順序排序、數字格式化

(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();
}