繁体   English   中英

如何从数组中获取随机数量的项目?

[英]How to do I get a random ranged number of items from an array?

我正在使用下面的代码从数组中获取随机数的项目,但我只想从提供的范围中获取 3-5 个随机数来显示。 现在,它显示 1、全部或介于两者之间的任何数量。 我也很擅长完全改变我的策略,所以欢迎任何和所有的建议。 非常感激。

<script type="text/javascript" src="https://fiftyallstars.com/Code/jquery-2.2.4.js"></script>

<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
<div>11</div>
<div>12</div>

<script type="text/javascript">
$('div').filter(function(){
    return (Math.round(Math.random()) == 1);
}).css({display: 'none'});
</script>

第 1 步:随机排列数组

第 2 步:从 3 到 5 随机选择一个数字。

第 3 步:从打乱数组的开头(或结尾)选择随机数量的元素。

 const arr = ["apple", "mango", "banana", "grape", "orange", "guava", "melon", "watermelon"]; const shuffledArr = arr.sort(() => 0.5 - Math.random()); const getRandom = (arr, min, max) => { const numItemsToPick = Math.floor(Math.random() * (max-min+1)) + min return arr.slice(0, numItemsToPick) } const randomArr = getRandom(shuffledArr, 3,5) console.log(randomArr)

let ar = $('div'); //  get all the divs 
let start = Math.round(Math.random()*ar.length); // get random start 
let end = Math.round(Math.random()*ar.length); // get random end 

ar.splice(start,end).forEach(item=>{  // for getting random elements 
    item.style.display='none'
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM