我正在研究“如何从 javascript 中的数组中随机访问元素”。我发现了很多关于这个的链接。喜欢: 从 JavaScript 数组中获取随机项
var item = items[Math.floor(Math.random()*items.length)];
但是在这种情况下,我们只能从数组中选择一项。如果我们想要多个元素,那么我们该如何实现呢?我们如何从一个数组中获取多个元素?
原文由 Shyam Dixit 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在研究“如何从 javascript 中的数组中随机访问元素”。我发现了很多关于这个的链接。喜欢: 从 JavaScript 数组中获取随机项
var item = items[Math.floor(Math.random()*items.length)];
但是在这种情况下,我们只能从数组中选择一项。如果我们想要多个元素,那么我们该如何实现呢?我们如何从一个数组中获取多个元素?
原文由 Shyam Dixit 发布,翻译遵循 CC BY-SA 4.0 许可协议
const items = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'I', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 1, 2, 3, 4, 5];
const fetchRandomArray = ({pool=[], limit=1})=>{
let query = []
let selectedIndices = {}
while(query.length < limit){
const index = Math.floor(Math.random()*pool.length)
if(typeof(selectedIndices[index])==='undefined'){
query.push(items[index])
selectedIndices[index] = index
}
}
console.log(fetchRandomArray({pool:items, limit:10})
原文由 Solomon Gbadamosi 发布,翻译遵循 CC BY-SA 4.0 许可协议
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
试试这个非破坏性(和快速)的功能: