开发者社区> 问答> 正文

如何从数组中随机获取n个元素

我正在研究“如何从javascript中的数组随机访问元素”。我发现了许多与此有关的链接。像: 从JavaScript数组中获取随机项目

var item = items[Math.floor(Math.random()*items.length)]; 问题:但是在这种情况下,我们只能从数组中选择一项,如果我们想要多个元素,那么我们将如何实现这一点,所以请仅从该语句中获取一个数组中的多个元素。 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 20:40:57 657 0
1 条回答
写回答
取消 提交回答
  • 尝试以下无损(快速)功能:

    function getRandom(arr, n) { var result = new Array(n), len = arr.length, taken = new Array(len); if (n > len) throw new RangeError("getRandom: more elements taken than available"); while (n--) { var x = Math.floor(Math.random() * len); result[n] = arr[x in taken ? taken[x] : x]; taken[x] = --len in taken ? taken[len] : len; } return result; }

    2020-02-08 20:41:07
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载