我在各个 Sprite 上显示随机数,并希望对各个容器进行洗牌,使其上不显示相同的数字。如何随机打乱一组 Sprite 而不重复相同的颜色?
我的数组是:
var color = new Array();
color[0] = 'greenBox';
color[1] = 'blueBox';
color[2] = 'purpleBox';
color[3] = 'yellowBox';
color[4] = 'redBox';
color[5] = 'whiteBox';
color[6] = 'pinkBox';
最佳答案
如果以后不需要该数组,可以这样做:
var color = [
"greenBox",
"blueBox",
...
];
while (color.length != 0) {
var index = Math.floor(Math.random()*color.length);
var pickedColor = color[index];
colors.splice(index, 1); // This removes the picked element from the array
doStuffWith(pickedColor);
}
这会破坏数组,但它永远不会选择相同的元素两次
关于javascript - 从数组中随机选取元素而不重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28473095/