1
我生成具有隨機數據元素設置與另外生成的隨機元素的屬性,像這樣:生成「逐個」
generateCards : function(n)
{
var actions = ['press', 'blue-right', 'blue-left', 'red-right', 'red-left'],
i = n,
ran,
actions_cpy = actions.slice();
for (; i--;) {
ran = (Math.random() * actions_cpy.length)|0;
$('#container-game-mobile').prepend(
$('<div>', {
// remove and return a random string from the array
'class': 'game-card-mobile',
'data-action': actions_cpy.splice(ran, 1)[0]
})
);
// load the array backup with values when it is empty
if (actions_cpy.length === 0) {
actions_cpy = actions.slice();
}
}
}
功能在那裏有更多的或更少的等量的方式工作來自actions數組的每個數據屬性。我最初生成10個元素,所以n = 10
由於應用程序的性質,每次在.game-card-mobile
上執行操作時,我將其銷燬並需要生成新的,因此請致電上述功能,但現在用n = 1
。問題在於,我不知何故需要調用仍然不同的元素,因此防止「藍右」出現一遍又一遍。
當'n = 1'時''ran'仍然返回一個隨機數嗎? – guest271314
@ guest271314是的它的確如此 – Ilja
'actions_cpy.splice(ran,1)[0]'''''''''''''''''''''返回隨機數和'n = 1'時不會從'actions_cpy'返回隨機項? – guest271314