PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
Ajax
[问题] jQeury shuffle array问题
楼主:
imjeffreylee
(昌)
2018-01-15 13:52:10
刚学三个礼拜超新手...
先上我的code
var cards = ['1.jpg', '2.jpg', ..., '24.jpg']; //array里面24张图
var shuffle = function(){
cards.sort(function(){
return .5-Math.random();
})
} //简易shuffle,在console里面看是有成功每次顺序都不一样
var assignCards = function(){
$('#fruit').each(function(i){
$(this).attr('src', cards[i]);
})
} //想法是把array里面打乱过后的24张图放到24个没有src的<img>里面
shuffle();
console.log(cards);
assignCards();
问题是每次都只有第一个空的<img>有成功抓到array里打乱后的第一张图
后面全部显示src(unknown)
请问各位可以指点一下吗? 感恩
作者:
shadowjohn
(转角遇到爱)
2018-01-15 14:11:00
$('#fruit').each(function(i){ --> 怪怪的 #fruit处#fruit是 id,但id应该是唯一值
作者:
bibo9901
(function(){})()
2018-01-15 14:14:00
这是我看过的错误shuffle方法中 最蠢的一种1.这个方法是错的,机率并不平均,你可以自己实验2. 0.5 - rand() 和 rand() 是一样的意思 没有任何意义我讲错了,2.是为了把rand的范围调整至[-1,1]
作者:
Kenqr
(function(){})()
2018-01-15 15:20:00
shuffle相关的讨论可在板上搜寻这个标题:chrome 的 Math.random() 好固定的感觉
作者:
oToToT
(å±å©)
2018-01-16 00:22:00
乱给值是undefined behavior,会出现任何问题都是合理的吧话说这样的写法机率是平均的吗?
https://codepen.io/oToToT/full/qjZyLe/
作者:
Kenqr
(function(){})()
2018-01-16 11:37:00
楼上的写法应该是不平均的。假如阵列只有3项,排列组合就会有6种,每种的机率要一样。执行循环时依照产生的乱数,会出现27种执行过程,27种过程的发生机率相同。27/6无法整除,所以6种排列组合的出现机率是不同的。
作者:
LPH66
(-6.2598534e+18f)
2018-01-16 18:11:00
oToToT 的方法改一个地方就平均了var key 那行限定产生出来的 key 大于等于 i 即可这样就等同于每次从一叠牌中随机抽一张出来
作者:
shadowjohn
(转角遇到爱)
2018-01-17 08:36:00
写个循环,阵列里的值随机俩俩交换,这种小阵列随便跑个几十次就乱七八糟了,跟扑克牌一样
作者:
Hevak
(Arthow Eshes)
2018-01-17 21:28:00
Fisher–Yates shuffle
继续阅读
[问题] 将bootstrap4的slide加上手势滑动
oj113068
[问题] 递回程式
pime
[讨论] 你们会刻意用let取代var吗?
bakedgrass
[问题] 同个物件可跑on and hover?
lcy17
Re: [问题] javascript要怎么用TinyURL的API
rj5871224
[自制] 线上圣诞许愿卡,寄出换取礼物
allenwang15
[问题] javascript要怎么用TinyURL的API
rj5871224
ECMAScript 本质部份
JustinHere
[问题] Heroku 布署时,不想要清掉某些档案
allenwang15
[问题] JSON.stringify 表单 name 有阵列的问题
chan15
Links
booklink
Contact Us: admin [ a t ] ucptt.com