当其中一个用于生成随机数时,Javascript 中的双方括号表示法如何工作?

Har*_*lia 2 javascript arrays

backgroundColor=['red','green','blue','orange'][Math.floor(Math.random()*4)]
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下这段代码是如何在 Javascript 语法中执行的,我知道它会生成一个随机数,但结果是第二个方括号中生成的索引值中的颜色。

在 C++ 中,array[][] 用于生成二维数组,但在这里它生成要在第一个方括号对中使用的索引。

希望得到关于代码执行如何发生的澄清

Phi*_*hil 7

如果你把它分解成单独的部分会更容易

const colors = ['red','green','blue','orange']

const randomIndex = Math.floor(Math.random()*4) 
  // colors.length would be even better than "4"

// Pick a random index from "colors"
backgroundColor = colors[randomIndex]

// or, expanding "randomIndex"
backgroundColor = colors[Math.floor(Math.random()*4)]

// or, expanding "colors"
backgroundColor = ['red','green','blue','orange'][Math.floor(Math.random()*4)]
Run Code Online (Sandbox Code Playgroud)