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