博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从数组中每次取一个不同的数组成员 getRandomItem(arr)
阅读量:5326 次
发布时间:2019-06-14

本文共 1000 字,大约阅读时间需要 3 分钟。

积累些常用的方法, 都是随写的, 不好之处, 望指出。

 

getRandomItem(arr)函数如下:

1         var getRandomItem = function () { 2             var preItem = null; 3  4             return function (arr) { 5  6                 var index = Math.floor(Math.random() * arr.length), 7                     item = arr[index], 8                     result; 9 10                 arr = arr.sort(function() {    // 数组随机排序(在这里有点多此一举,可去掉 哈哈)11                     return Math.random() > 0.5 ? -1 : 1;12                 });13 14                 if (preItem != item) {
15 result = preItem = item; 17 } else {18 result = getRandomItem(arr);19 };20 21 return result;22 };23 }();

 

测试一下是否有重复的:

var arr=[1, 54, 3, 23, 15, 6, 27, -8, 49, 10, 62, 33, 15, 74, 86, 99];          for (var i = 0, len = 1000; i < len; i ++) {            console.log(getRandomItem(arr));        };

 

转载于:https://www.cnblogs.com/sorrowx/p/6494925.html

你可能感兴趣的文章
【学习分享】温水里的程序员,技术将成为温水。
查看>>
markdown编辑器使用建议
查看>>
Android系统自带样式(android:theme)(转)
查看>>
js offset
查看>>
开通博客园第一天jq,css,net之bs开发,ui开发求虐求交流
查看>>
内部类+迭代器设计模式的java实现。。。
查看>>
网络管理
查看>>
java+适配器模式 实现自己的迭代器...
查看>>
Qt界面设计1
查看>>
面试题7:用两个栈实现队列
查看>>
int类型的整数转换成汉字
查看>>
Macbook下安装memcached
查看>>
websocket使用nginx作为反向代理
查看>>
java基础之路(一)
查看>>
Linux 2.6.x fs/pipe.c local kernel root(kit?) exploit (x86)
查看>>
android 开发 View_10_ Path之基本操作[转载]
查看>>
利用LineRenderer画出一个圆,类似于lol中的攻击范围
查看>>
Unity3D性能优化--- 收集整理的一堆
查看>>
ios iap 购买总是提示继续的解决方案
查看>>
[HDU 1251] 统计难题
查看>>