为了账号安全,请及时绑定邮箱和手机立即绑定

javascript如何在一个数组里随机选出不重复的10项?

javascript如何在一个数组里随机选出不重复的10项?

眼眸繁星 2018-09-20 11:05:09
[1,2,3,4,5,6,7,8,9,10,11,12,13,14]在这个数组里选出10项不重复
查看完整描述

1 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

var result = [];
var arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14];
var len = arr.length;
while(result.length < 10){
    var idx = parseInt(Math.random()*1000)%len ;
    if(arr[idx]){
        result.push(arr[idx]);
        arr[idx] = undefined;
    }
}

性能确实不如 @边城 的方法,我再添加一个性能更差但是简单的。

arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14];
arr.sort(function(){return 0.5-Math.random();}).slice(0,10);

业余前端选手,从来不考虑性能。。。


查看完整回答
反对 回复 2018-10-09
  • 1 回答
  • 0 关注
  • 746 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信