从数组生成随机结果

时间:2013-05-22 04:15:25

标签: javascript jquery random

我正在尝试使用JavaScript从数组生成随机结果。我的目标是,当用户单击按钮时,我想从名为“favorites”的数组中获取随机结果。它仅在页面刷新后才有效,但是当您第二次单击它时,它会返回相同的结果。

$('#button').click(function(){
        var favorites = ["http://google.com", "http://yahoo.com", "http://msn.com", "http://apple.com"];
        var favorite = favorites[Math.floor(Math.random() * favorites.length)];
        var postmessage = "hi my favorite site is " + favorite;
        alert(postmessage);
    });

1 个答案:

答案 0 :(得分:1)

请尝试以下代码。

$('#button').click(function(){
    var favorites = ["http://google.com", "http://yahoo.com", "http://msn.com", "http://apple.com"];
    var favorite = $.rand(favorites);;
    var postmessage = "hi my favorite site is " + favorite;
    alert(postmessage);
});


(function($) {
    $.rand = function(arg) {
        if ($.isArray(arg)) {
            return arg[$.rand(arg.length)];
        } else if (typeof arg === "number") {
            return Math.floor(Math.random() * arg);
        } else {
            return 4;  // chosen by fair dice roll
        }
    };
})(jQuery);

更新小提琴:

http://jsfiddle.net/Sj74K/2/

谢谢,

希瓦