我如何从数组中返回随机值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何从数组中返回随机值?相关的知识,希望对你有一定的参考价值。

我正在使用jQuery validate插件,并希望在成功时返回一个随机值。

现在我正在尝试使用:

     var success_message = new Array ();
     success_message[0] = "Good!";
     success_message[1] = "Ok!";
     success_message[2] = "Great!";
     success_message[3] = "Perfect!";
     success_message[4] = "Nice!";
     success_message[5] = "Awesome"; 
     var i = Math.floor(5 * Math.random())

然后需要在其中输出使用的值:

 $(document).ready(function(){
     var validator = $(".contactform").validate({
        success: function(label) {
           label.addClass("valid").text(success_message[i])
        }
     }); //end form validate code
 });

这将选择一个随机值,但对每个成功消息使用相同的值,而不是为每个字段选择一个不同的值。

答案

您可以存储messages数组并计算要显示的消息,如下所示:

var messages = ["Good!", "Great!", "Awesome!", "Super!", "Nice!"];
function getMessage() {
   return messages[Math.floor(Math.random() * messages.length)];
}

[Give it a try here,然后只需在您的getMessage呼叫中呼叫.text(),像这样:

.text()
另一答案

我们可以将方法添加到数组。

label.addClass("valid").text(getMessage());
另一答案
Array.prototype.getRandomVal = function(){
    return this[Math.floor(Math.random()*this.length)];
};

messages.getRandomVal();

以上是关于我如何从数组中返回随机值?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用范围中的随机值填充数组? (重复没问题。)

为啥从函数返回数组作为参数时,我会从函数中的数组中获取随机值? [复制]

如何从 C# 中的泛型类型数组中选择一组随机值?

如何从数组中随机获取最小值?

如何从已经规定的数组中随机取出一个元素?

从数组中获取随机值并在 DOM 中发布