JavaScript 陣列隨機不重複元素
實際應用可能需要從陣列元素中隨機取出幾個元素,並且要保證這幾個元素不重複。
有些陣列可能有重複的元素,那麼可能需要首先去除這些重複的元素。
下面是實現此效果的程式碼:
[JavaScript] 純文字檢視 複製程式碼執行程式碼var theArray=[1,3,2,4,5,9,10,20,15]; function done(num,arr){ var newArray=[]; for(var index=0;index<num;index++){ var n=Math.floor(Math.random()*theArray.length); newArray.push(theArray[n]); theArray.splice(n,1); } return newArray+""; } console.log(done(2,theArray));
上面程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
(1).var theArray=[1,3,2,4,5,9,10,20,15],宣告一個陣列,將會從此陣列取元素。
(2).function done(num,arr){},此函式實現了取出指定個數不重複元素效果,第一個引數是要取的個數,第二個是陣列物件。
(3).var newArray=[],宣告一個空陣列,用來存放取出的元素。
(4).for(var index=0;index<num;index++){},取出指定個數的陣列元素,這裡採用for迴圈遍歷的方式。
(5).var n=Math.floor(Math.random()*theArray.length),通過隨機數*陣列的長度可以獲取隨機的陣列索引,並將其存入變數n。
(6).newArray.push(theArray[n]),將獲取的陣列元素存入新的陣列。
(7).theArray.splice(n,1),刪除此索引位置的陣列元素。
(8).return newArray+"",將陣列轉換為字串並返回。
二.程式碼註釋:
(1).Math.floor方法參閱JavaScript Math.floor()一章節。
(2).Math.random方法參閱JavaScript Math.random()一章節。
(3).push方法參閱JavaScript push()一章節。
(4).splice方法參閱JavaScript Array splice()一章節。
相關文章
- JavaScript陣列中隨機取出不重複項JavaScript陣列隨機
- python怎麼生成隨機不重複陣列Python隨機陣列
- JavaScript 陣列中元素隨機打亂排序JavaScript陣列隨機排序
- JavaScript 刪除陣列重複元素JavaScript陣列
- JavaScript陣列刪除重複元素JavaScript陣列
- C++【生成16個不重複字母】(生成不重複隨機數)C++隨機
- 巧用物件,生成不重複隨機數物件隨機
- JavaScript 拼接多個陣列並刪除重複元素JavaScript陣列
- JavaScript陣列元素全排列JavaScript陣列
- JavaScript刪除陣列元素JavaScript陣列
- 寫一個方法找出指定一維陣列所有不重複的元素和個數陣列
- JavaScript 刪除陣列指定元素JavaScript陣列
- JavaScript陣列檢索指定元素JavaScript陣列
- JavaScript刪除array陣列元素JavaScript陣列
- JavaScript 陣列 指定索引位置插入元素JavaScript陣列索引
- JavaScript 陣列新增或者刪除元素JavaScript陣列
- 如何生成隨機不重複的11位數字隨機
- PHP陣列去除空白或重複元素PHP陣列
- filter在JavaScript中過濾陣列元素FilterJavaScript陣列
- JavaScript遍歷陣列每一個元素JavaScript陣列
- JavaScript陣列指定位置插入新元素JavaScript陣列
- 如何去除有序陣列中的重複元素陣列
- java陣列中重複元素的去重Java陣列
- javascript 將一個陣列中的元素的值複製到另一個已有資料的陣列中JavaScript陣列
- 如何新增javascript陣列n乘以相同的元素JavaScript陣列
- JavaScript獲取陣列最後一個元素JavaScript陣列
- JavaScript獲取元素在陣列中的位置JavaScript陣列
- JavaScript陣列刪除重複內容JavaScript陣列
- 計蒜客 移除陣列中的重複元素陣列
- JavaScript 陣列的指定位置插入多個元素JavaScript陣列
- 陣列元素逆序陣列
- HashSet 如何保證元素不重複——hash碼
- JavaScript li元素的順序隨機打亂JavaScript隨機
- C語言程式生成指定範圍的不重複的隨機數C語言隨機
- 陣列元素劃分陣列
- golang 陣列去重 移除陣列指定元素Golang陣列
- JavaScript 陣列JavaScript陣列
- Javascript - 陣列和陣列的方法JavaScript陣列