领导又安排任务啦,高手们,版主,来看看啊

chinashiji 2017-06-16 06:34:02
for (var i=0;i<10;i++)
{
var arr = ["009", "002", "006", "003", "001", "005", "011", "012", "012", "014"];
    var index = Math.floor((Math.random()*arr.length));
    var acc=arr[index];

}
我要循环10次,每次随机一个数,而且每次都要不重复,一直到10个数字全部随机完
怎么解决呢???
也就是每循环一次,把随机的数字就从数组里去掉,或者记录一下,下次不随机这个数字了

应该怎么做啊
领导又安排任务啦,高手们,版主,来看看啊
...全文
232 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinashiji 2017-06-25
  • 打赏
  • 举报
回复
结帖,给分,我每次都百度很多次好不好,可是看不懂啊,我应聘当论坛兼职管理怎么样啊,可以不,虽然水平低,但是负责任啊
This_尘渊 2017-06-23
  • 打赏
  • 举报
回复
2喽正解的,每次取出来,然后删掉当前取得这个就好了
上海程序员3 2017-06-19
  • 打赏
  • 举报
回复
var arr = ["009", "002", "006", "003", "001", "005", "011", "012", "012", "014"];

for (var i=0;i<10;i++)
{
  var index = Math.floor((Math.random()*arr.length));
	var a=arr[index]
	arr[index]=arr[i]
	arr[i]=a
} 
这是另一个思路,说白了你只是为了打乱数组而已,比上面的效率高很多。
_林小夕 2017-06-19
  • 打赏
  • 举报
回复
同意#7,打乱数组每次取一个,美滋滋
MikeDDT009 2017-06-17
  • 打赏
  • 举报
回复
引用 5 楼 qq_29594393 的回复:
[quote=引用 4 楼 MikeDDT009 的回复:] [quote=引用 3 楼 qq_29594393 的回复:] 楼上正解,每次取一个数的同时,删除掉这个数.下次再取就不会重复了. 楼主要自己学会找答案呀,这种网上有很多的,不然还不如直接让你们boss招BoBo做兼职得啦
只大概看了下,感觉有个问题,还是说我思考回路过于复杂,简单问题复杂化了。 原数组内容是否需要该改变,如果后面要用的化这样不就全完了[/quote] 可以再用一个数组来接原始数组的内容,每slice 一个,前,先加入存储数组,如果需要二次利用的话,无论怎样都会需要一个额外的数组空间来实现[/quote] 是的,就是感觉自己看到这个想的脑回路多绕着走。。。。
当作看不见 2017-06-17
  • 打赏
  • 举报
回复
引用 4 楼 MikeDDT009 的回复:
[quote=引用 3 楼 qq_29594393 的回复:] 楼上正解,每次取一个数的同时,删除掉这个数.下次再取就不会重复了. 楼主要自己学会找答案呀,这种网上有很多的,不然还不如直接让你们boss招BoBo做兼职得啦
只大概看了下,感觉有个问题,还是说我思考回路过于复杂,简单问题复杂化了。 原数组内容是否需要该改变,如果后面要用的化这样不就全完了[/quote] 可以再用一个数组来接原始数组的内容,每slice 一个,前,先加入存储数组,如果需要二次利用的话,无论怎样都会需要一个额外的数组空间来实现
MikeDDT009 2017-06-16
  • 打赏
  • 举报
回复
引用 3 楼 qq_29594393 的回复:
楼上正解,每次取一个数的同时,删除掉这个数.下次再取就不会重复了. 楼主要自己学会找答案呀,这种网上有很多的,不然还不如直接让你们boss招BoBo做兼职得啦
只大概看了下,感觉有个问题,还是说我思考回路过于复杂,简单问题复杂化了。 原数组内容是否需要该改变,如果后面要用的化这样不就全完了
当作看不见 2017-06-16
  • 打赏
  • 举报
回复
楼上正解,每次取一个数的同时,删除掉这个数.下次再取就不会重复了. 楼主要自己学会找答案呀,这种网上有很多的,不然还不如直接让你们boss招BoBo做兼职得啦
qwqwqw408 2017-06-16
  • 打赏
  • 举报
回复
var arr = ["009", "002", "006", "003", "001", "005", "011", "012", "012", "014"]; for (var i=0;i<10;i++) {     var index = Math.floor((Math.random()*arr.length));     var acc=arr[index]; arr .splice(index,1);// 删除该位置的元素 }
chinashiji 2017-06-16
  • 打赏
  • 举报
回复
我不容易啊,从一个学艺术的,现在做技术工作,我转变太大了啊,但是觉得还挺有意思,有点成就感,就是领导总是给我安排任务,我想哭,高手,版主,快帮我

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧