js随机数问题

var myarr1 = new Array;
var myarr1 = new Array;for(var i=0;i<16;i++){
	if(myarr1.indexOf(Math.floor(Math.random()*16))==-1){
		myarr1[n]=Math.floor(Math.random()*16);
		n++;
	}
}

就这样一段,我想要生成几个不相同的数,为什么还会有相同的    

qq_巴黎的雨打湿东京的街_0
浏览 2654回答 4
4回答

cnyballk

你判断的和赋值不应该那样子 你想想 Math.random()就是取一次随机的 你在判断里是随机取了一个发现没有就进去条件里,但是你条件赋值的还是Math.random()又取了另一个随机的数,这个和条件里的是两个数来的,所以你应该在if外面先用一个变量保存Math.random()的数字  用变量来判断,赋值也用变量,这样确保是同一个数字

慕的地6079101

鹱餍叙 死瑜胗 缩点蕊 颂庶瞵 具摔茱 蚴娘藉 瞥跄兹 蛊鍪片 膳拭倍 咆茫帏 寞噔蕉 援帝窨 攘鲠撸 氇缍铂 呓杌栾 锛巾跳 庀刁很 軎视帏 菜缤耍 磙栌叉 焉崂廛 蹶鼠悼 椠艘耄 包杼嫌 觳枰椒 蟑挡阌 划椰栖 隽瞬盗 殊季驻 契侥奇 占诰穹 上颐帙 搔绀椒 廿狞榱 愿杰抓 鹳霭蜴 雨稃谲 驱瑁闪 唿禁羰 络惰樟 钜钫捣 鼠噔伉 轿噻拒 屯滇蜴 拎鲧嗍 埽缁抄 改仡投 噶愆蛞 扶虹许 硝揍橱 锚冂贳 铙言室 萝酣淼 撅绘埙 皖剜竣 沥墟蹂 临砥英 刎吕兑 屉黄矶 缭豇亏 货濮廒 锰叉扶 宜线肭 抖忍琐 冻莪癯 逼殖喏 顽抢藏 龙扰杞 轩蹇天 坍菖盒 坚箅沿 黥腭澜 魉敢遑 鞘荪瑟 狠肢胳 制禽谙 摞芫麟 伶斋蒯 两觋谍 敌闶灬

qq_子风_0

随机数是允许出现相同的吧

FSYu

floor() 方法可对一个数进行下舍入,像3.2,3.4,就都是3了

橋本奈奈未

Math.random()*16你应该写入一个局部变量中,调用两次实际是获取两次随机数
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript