$(function() {
    var cardCase = new Array();
    var handsCadr =new Array();

    var cardColor = new Array("黑桃","红心","梅花","方块");
    var cardValue = new Array("A","2","3","4","5","6","7","8","9","10","J","Q","K");

    var spade = new Array();
    var heart = new Array();
    var club = new Array();
    var diamond = new Array();

    //洗牌,根据花色和牌值生成纸牌,再打乱顺序
    function shuffle(cardColor,cardValue) {
        for(var i = 0; i < cardColor.length; i++){
            var number = 0;
            for (var x = 0; x < cardValue.length; x++) {
                number += 1;
                cardCase[i*cardValue.length + x] = {"color": cardColor[i],
                                                    "value": cardValue[x],
                                                    "number": number};
            }
        };

        cardCase = cardCase.sort(function() {
            return Math.random()>0.5?-1:1;
        });

        return cardCase;
    };

    //第一种排序方式:根据花色和牌面值直接将牌放入对应位置
    function drawCard1(cardCase) {
        for (var y = 0; y < cardCase.length; y++) {
            switch (cardCase[y].color)
            {
            case "黑桃":
                handsCadr[cardCase[y].number-1] = cardCase[y];
                break;
            case "红心":
                handsCadr[cardCase[y].number + 12] = cardCase[y];
                break;
            case "梅花":
                handsCadr[cardCase[y].number + 25] = cardCase[y];
                break;
            case "方块":
                handsCadr[cardCase[y].number + 38] = cardCase[y];
                break;
            }
        }
    };

    //排序函数
    function cardSort(cardNumber){
        return function(object1, object2){
            var value1 = object1[cardNumber];
            var value2 = object2[cardNumber];
            if (value1 < value2)
            {
                return -1;
            } else if (value1 > value2)
            {
                return 1;
            } else {
                return 0;
            }
        }
    }

    //第二种排序方式,将纸牌按照花色放入对应的数组中,再分别给每个数组排序,然后组合这些数组
    function drawCard2(cardCase) {
        for (var y = 0; y < cardCase.length; y++) {
            switch (cardCase[y].color)
            {
            case "黑桃":
                spade.push(cardCase[y]);
                break
            case "红心":
                heart.push(cardCase[y]);
                break
            case "梅花":
                club.push(cardCase[y]);
                break
            case "方块":
                diamond.push(cardCase[y]);
                break
            }
        }

        spade.sort(cardSort("number"));
        heart.sort(cardSort("number"));
        club.sort(cardSort("number"));
        diamond.sort(cardSort("number"));
        handsCadr = spade.concat(heart,club,diamond);
    };

    //打印,在页面中输入排列好的顺序
    function print() {
        for (var z = 0; z < 52; z++) {
            document.write(handsCadr[z].color + handsCadr[z].value + "<br/>");
        }
    };

    $(".shuffle1").click(function() {
        shuffle(cardColor,cardValue);
        drawCard1(cardCase);
        print();
    });

    $(".shuffle2").click(function() {
        shuffle(cardColor,cardValue);
        drawCard2(cardCase);
        print();
    });

});

需要引入Jquery,然后添加两个按钮

<button class="shuffle1">方式一</button>
<button class="shuffle2">方式二</button>