我当前的项目是一个小Jquery游戏。 数组Bildquelle(我保存在json中)中的每张图片都属于数组编号中的一个数字,但顺序相同,因此Bild1为1等。
但是我想以随机顺序显示它们。有没有办法在相同的随机系统上对它们进行排序?
提前谢谢!
var Bildquelle = [
"../img/Bild1.png",
"../img/Bild2.png",
"../img/Bild3.png",
"../img/Bild4.png",
"../img/Bild5.png",
"../img/Bild6.png",
"../img/Bild7.png",
"../img/Bild8.png",
"../img/Bild9.png",
"../img/Bild10.png"
]
var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
numbers.sort(function() {
return Math.random() - .5
});
for (var i = 0; i < 10; i++) {
var Karte = $('<img src=' + Bildquelle[i] + ' alt="Bild">').data('number', numbers[i]).attr('id', 'card' + numbers[i]).appendTo('#cardPile')
};
答案 0 :(得分:0)
最简单的方法可能是不使用numbers
,而是直接改组Bildquelle
:
Bildquelle.sort(function() {
return Math.random() - 0.5;
});
现在Bilquelle[0]
可能是"../img/Bild9.png"
或其中之一。
但是,如果您想保留Bildquelle
和numbers
并改组数字,则应将numbers
更改为从零开始的数字(作为数组):
var numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
您甚至可以直接获取Bildquelle的钥匙:
var numbers = Object.keys(Bildquelle);
现在您可以将其洗牌,并按一定数量访问Bildquelle:
Bildquelle[ numbers[0] ]
或在您的循环中为:
Bildquelle[ numbers[i] ]
PS:Bildquelle
实际上应该是images
或pictures
,以遵循命名约定(如果您继续混合使用语言,将很难阅读...)