JavaScript |
您所在的位置:网站首页 › js随机显示图片 › JavaScript |
1.随机获取数组一个元素 var items = ['1','2','4','5','6','7','8','9','10']; var item = items[Math.floor(Math.random()*items.length)]; 解释: Math.random()返回0到1之间的一个伪随机数,可能等于0,但是一定小于1 Math.floor方法返回小于参数值的最大整数(地板值)
结合起来: 随机获取一个0-1之间的小数, 然后乘以自身长度, 一定是一个大于等于0 小于自身长度的一个数. 如上面 长度为10, 则获取的一个随机数就为0-10之间的一个数[数组的下标]. 最后根据下标获取数组元素值即可
2.随机获取几个元素 function getRandomArrayElements(arr, count) { var shuffled = arr.slice(0), i = arr.length, min = i - count, temp, index; //只是声明变量的方式, 也可以分开写 while (i-- > min) { //console.log(i); index = Math.floor((i + 1) * Math.random()); //这里的+1 是因为上面i--的操作 所以要加回来 temp = shuffled[index]; //即值交换 shuffled[index] = shuffled[i]; shuffled[i] = temp; //console.log(shuffled); } return shuffled.slice(min); } var items = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']; console.log( getRandomArrayElements(items, 4) ); 截图:
解析: 思路就是将新拷贝一份数组, 然后将数组按照获取元素的次数, 每次将元素交换[从倒数第二个开始往前开始, 与随机获取的数组下标元素对调位置], 最后截取数组元素个数 返回结果.
后续补充 ... |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |