Javascript'te bir dizinin karıştırılmasıyla ilgili bir sorunum var. Çok boyutlu bir dizi, satırını iki kez karıştırır ve sonuç, aynı sayıların döndürülmesiyle sonuçlanır. Aynı sayıları istemiyorum, ancak farklı karıştırılmış sonuçlar istiyorum.Javascript'te çok boyutlu bir dizinin karıştırılması açıldı
this.pairs = [
[0, 1, 2, 3]
];
this.shuffled = [
[shuffle(this.pairs[0])],
[shuffle(this.pairs[0])]
];
console.log(this.shuffled);
karıştır fonksiyonudur Nerede:
function shuffle(array) {
for (var i = array.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;}
Sadece dizi değerlerini randomize.
Şimdi karıştırmayı denediğimde ([0,1,2,3]), aynı işlevi iki kez çağırırsam çalışır. Ama ben karıştırdığımda (this.pairs [0]); Kaç kez aradığımda tam olarak aynı değerleri verir. Herhangi bir yardım? Farklı değişkenleri eklemek için önerildiği gibi Sonra çalıştı
GÜNCELLEME hala çalışmıyor. Aynı
this.pairs = [
[0, 1],
[0, 1]
];
var level1 = this.pairs[0];
var level2 = this.pairs[0];
this.shuffled = [
shuffle(level1),
shuffle(level2)
];
console.log(this.shuffled);
bu için de geçerli:
this.pairs = [
[0, 1],
[0, 1]
];
var level1 = shuffle(this.pairs[0]);
var level2 = shuffle(this.pairs[0]);
this.shuffled = [
level1,
level2
];
console.log(this.shuffled);