Javascript 基于相同的随机排序系统对两个数组进行排序
我目前的项目是一个小Jquery游戏。 数组Bildquelle中的每个图片(我保存在json中)都属于数组编号中的一个编号,但顺序相同,因此Bild1是编号1,以此类推 但我想以随机顺序显示它们。有没有办法在同一个随机系统上对它们进行排序 提前谢谢你Javascript 基于相同的随机排序系统对两个数组进行排序,javascript,arrays,sorting,Javascript,Arrays,Sorting,我目前的项目是一个小Jquery游戏。 数组Bildquelle中的每个图片(我保存在json中)都属于数组编号中的一个编号,但顺序相同,因此Bild1是编号1,以此类推 但我想以随机顺序显示它们。有没有办法在同一个随机系统上对它们进行排序 提前谢谢你 var-Bildquelle=[ “./img/Bild1.png”, “./img/Bild2.png”, “./img/Bild3.png”, “./img/Bild4.png”, “./img/Bild5.png”, “./img/Bil
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”
]
变量数=[1,2,3,4,5,6,7,8,9,10];
numbers.sort(函数(){
返回Math.random()-.5
});
对于(变量i=0;i<10;i++){
var Karte=$('').data('number',numbers[i]).attr('id','card'+numbers[i]).appendTo('
};代码>最简单的方法可能就是不要使用数字,而是直接洗牌Bildquelle
:
Bildquelle.sort(function() {
return Math.random() - 0.5;
});
现在,Bilquelle[0]
可能是“./img/Bild9.png”
或其他类型之一
但是,如果您想保留Bildquelle
和numbers
并洗牌数字,则应将numbers
更改为零基(作为数组):
你甚至可以直接拿到Bildquelle的钥匙:
var numbers = Object.keys(Bildquelle);
现在,您可以洗牌,并按一定数量访问Bildquelle:
Bildquelle[ numbers[0] ]
或者在您的循环中作为:
Bildquelle[ numbers[i] ]
注:Bildquelle
实际上应该是images
或pictures
,以遵循命名约定(如果你不断混合语言,阅读起来会更困难……看看这个为什么Bildquelle和数字都有?您不需要数字,因为Bildquelle数组无论如何都是由位置(整数)引用的。@JakubKeller您能给我解释一下吗(我是JS新手)?我需要在代码中更改什么?为什么不创建Bildquelle
和具有Id
和Image
属性的对象数组。我可以使用多维数组。谢谢你们的帮助!
Bildquelle[ numbers[i] ]