javascript - 选择随机数组,然后选择该数组中的一个元素

标签 javascript html arrays random

我试图弄清楚是否可以首先选择一个随机数组(加载时),然后选择该数组中的一个元素。例如我有:

    var colorsOne = ["#CCCCCC","#333333","#990099","#990099"];  
    var colorsTwo = ["#CCCCCC","#333333","#990099","#990099"];  
    var colorsThree = ["#CCCCCC","#333333","#990099","#990099"];  
    var colorsFour = ["#CCCCCC","#333333","#990099","#990099"];  
    var colorsFive = ["#CCCCCC","#333333","#990099","#990099"];  
    var colorsSix = ["#CCCCCC","#333333","#990099","#990099"];  
    var colorsSeven = ["#CCCCCC","#333333","#990099","#990099"];  
    var colorsEight = ["#CCCCCC","#333333","#990099","#990099"];  
    var colorsNine = ["#CCCCCC","#333333","#990099","#990099"];  
    var colorsTen = ["#CCCCCC","#333333","#990099","#990099"];  
    var colorsEleven = ["#CCCCCC","#333333","#990099","#990099"];  
    var colorsTwelve = ["#CCCCCC","#333333","#990099","#990099"];  

12 个数组(每个数组最终都会填充不同的十六进制代码),我首先需要选择其中一个数组,然后从此数组中选择一个十六进制代码(随机)。

例如

var rand = Math.floor(Math.random() * 4);               
$('.header-wrap').css("background-color", colorsEight[rand]);

这将从 coloursEight 数组中获取一个随机元素,但我必须对其进行编程,我需要首先随机选择一个数组,然后从此数组中选择一个元素。

对此的任何建议将不胜感激!

最佳答案

答案几乎是问题本身固有的。 :-) 将数组放入数组中,然后执行与您所做的相同的操作:

var colors = [
    ["#CCCCCC","#333333","#990099","#990099"],
    ["#CCCCCC","#333333","#990099","#990099"],
    ["#CCCCCC","#333333","#990099","#990099"],
    ["#CCCCCC","#333333","#990099","#990099"],
    ["#CCCCCC","#333333","#990099","#990099"],
    ["#CCCCCC","#333333","#990099","#990099"],
    ["#CCCCCC","#333333","#990099","#990099"],
    ["#CCCCCC","#333333","#990099","#990099"],
    ["#CCCCCC","#333333","#990099","#990099"],
    ["#CCCCCC","#333333","#990099","#990099"],
    ["#CCCCCC","#333333","#990099","#990099"],
    ["#CCCCCC","#333333","#990099","#990099"]
];

var array = colors[Math.floor(Math.random() * colors.length)];
var color = array[Math.floor(Math.random() * array.length)];
$('.header-wrap').css("background-color", color);

如果由于某种原因您需要这些单独的数组变量,您仍然可以将它们收集在一起:

var colorsOne = ["#CCCCCC","#333333","#990099","#990099"];  
var colorsTwo = ["#CCCCCC","#333333","#990099","#990099"];  
var colorsThree = ["#CCCCCC","#333333","#990099","#990099"];  
var colorsFour = ["#CCCCCC","#333333","#990099","#990099"];  
var colorsFive = ["#CCCCCC","#333333","#990099","#990099"];  
var colorsSix = ["#CCCCCC","#333333","#990099","#990099"];  
var colorsSeven = ["#CCCCCC","#333333","#990099","#990099"];  
var colorsEight = ["#CCCCCC","#333333","#990099","#990099"];  
var colorsNine = ["#CCCCCC","#333333","#990099","#990099"];  
var colorsTen = ["#CCCCCC","#333333","#990099","#990099"];  
var colorsEleven = ["#CCCCCC","#333333","#990099","#990099"];  
var colorsTwelve = ["#CCCCCC","#333333","#990099","#990099"]
var colors = [
    colorsOne,
    colorsTwo,
    colorsThree,
    colorsFour,
    colorsFive,
    colorsSix,
    colorsSeven,
    colorsEight,
    colorsNine,
    colorsTen,
    colorsEleven,
    colorsTwelve
];

var array = colors[Math.floor(Math.random() * colors.length)];
var color = array[Math.floor(Math.random() * array.length)];
$('.header-wrap').css("background-color", color);

关于javascript - 选择随机数组,然后选择该数组中的一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41171577/

相关文章:

javascript - 如何将数据/变量从 file_controller.rb 传递到 application.js

java - 将数组列表转为数组

javascript - parent 和 child 的触摸事件分开

javascript - 为什么 ownKeys 代理陷阱不能与 Object.keys() 一起使用?

html - 如何在固定定位的 div 中显示绝对定位的 div?

html - 基本问卷输入如何设置左侧问题和右侧 radio 的样式

php - 如何循环遍历从Mysql查询返回的数组

c - C Blackjack 游戏的 int 数组缺少输出

javascript - 如何打印一个div?

javascript - 我可以使用接口(interface)来定义对象允许的字段吗?