我想將一個(gè)有偶數(shù)個(gè)元素的數(shù)組兩兩隨機(jī)分組,比如[1,2,3,4,5,6,7,8]輸出可能有一個(gè)結(jié)果是:[[1,3],[2,5],[4,8],[6,7]]自己嘗試寫了一下代碼,如下:function arrSlice(arr) { if(arr.length % 2 !== 0) return 0; var newArr = [], //臨時(shí)輔助數(shù)組 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));自己是一個(gè)JS新手,感覺寫出來的有點(diǎn)生硬,不知道有沒有更好的一個(gè)實(shí)現(xiàn),向各位大牛請(qǐng)教下,謝謝
JS如何將2N個(gè)元素?cái)?shù)組兩兩隨機(jī)分組呢?
牧羊人nacy
2019-03-13 16:15:05