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

JS如何将2N个元素数组两两随机分组呢?

JS如何将2N个元素数组两两随机分组呢?

牧羊人nacy 2019-03-13 16:15:05
我想将一个有偶数个元素的数组两两随机分组,比如[1,2,3,4,5,6,7,8]输出可能有一个结果是:[[1,3],[2,5],[4,8],[6,7]]自己尝试写了一下代码,如下:function arrSlice(arr) {    if(arr.length % 2 !== 0) return 0;    var         newArr = [],        //临时辅助数组        tmpArr = [];    for(let i=0;i<arr.length;i++) {        if(!tmpArr.includes(arr[i])) {            var rndIndex;            do {                rndIndex = Math.floor(Math.random() * (arr.length - (i + 1))) + (i + 1);            } while(tmpArr.includes(arr[rndIndex]));            newArr.push([arr[i],arr[rndIndex]]);            tmpArr.push(arr[i]);            tmpArr.push(arr[rndIndex]);        }    }    return newArr;}var arr = [1,2,3,4,5,6,7,8]console.log(arrSlice(arr));自己是一个JS新手,感觉写出来的有点生硬,不知道有没有更好的一个实现,向各位大牛请教下,谢谢
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 789 浏览
慕课专栏
更多

添加回答

举报

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