javascript - 如何让数组选择四种不同的选项

标签 javascript arrays random

有谁知道如何让我的数组选择不同变量下的四个不同选项?现在,我有一个包含六个实体的数组和一个选择其中四个选项并为其分配一个变量的函数,但有可能会出现重复。

var colors = ['#4286f4', '#e2f442', '#f48c41', '#41f4f4', '#dd3b3b', '#7a6f6f']
window.colorOne = '';
window.colorTwo = '';
window.colorThree = '';
window.colorFour = '';


function beginAndGetCombo(){

window.colorOne = colors[Math.floor(Math.random() * colors.length)];
window.colorTwo = colors[Math.floor(Math.random() * colors.length)];
window.colorThree = colors[Math.floor(Math.random() * colors.length)];
window.colorFour = colors[Math.floor(Math.random() * colors.length)];

}


<input type=button value='Get Colors' onclick='beginAndGetCombo()'>

最佳答案

这是使用 splice() 的可能方法删除从可能的颜色数组中选择的元素。数组在每次迭代中都会改变长度,随机的边界也会改变。然后每次迭代我们可以选择的颜色就会减少。

var colors = ['#4286f4', '#e2f442', '#f48c41', '#41f4f4', '#dd3b3b', '#7a6f6f']

var newcolors = {"colorOne":'',"colorTwo":'',"colorThree":'',"colorFour":''};

for(let color in newcolors){

    position = Math.floor(Math.random() * colors.length-1);
    window[color] = colors.splice(position,1)[0];
}

console.log(window.colorOne)
console.log(window.colorTwo)
console.log(window.colorThree)
console.log(window.colorFour)

关于javascript - 如何让数组选择四种不同的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52026600/

相关文章:

javascript - Angular 5 - 将新元素插入数组

javascript - 控制嵌入 html 中的 YouTube 视频

javascript - 如果 "wallSize"在 localStorage 中,则将结果存储在 BathroomLength 变量中。否则,不要改变浴室长度

javascript - Model.remove() 根本不起作用

ruby-on-rails - rails - 查找多个数组之间的交集

javascript - 在javascript中通过正则表达式提取数据

random - 是否存在无状态随机数生成器?

java - 简单的空间修剪程序

windows - 为什么Windows中的%random%是基于时间的以及如何获得真正的随机数?

c - 唯一的随机数