JavaScript 陣列中元素隨機打亂排序

antzone發表於2019-02-28

打亂陣列中元素的順序也是時常用到的操作,實現此效果的方式有多種,本文僅分享其中一種。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
function randomSort(a,b){
  return Math.random()>0.5?-1:1;
}
var arr=[1,2,3,4,5];
var newArray=arr.sort(randomSort);
console.log(newArray);

每執行一次都會將原有的陣列打亂,更多內容參閱如下兩篇文章:

(1).Math.random方法參閱JavaScript Math.random()一章節。

(2).sort方法參閱JavaScript sort()一章節。

為了加強理解,再看一段程式碼例項:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
var aArr=[]; 
for(var i=0;i<100;i++){ 
  aArr.push(i);
} 
function randomSort(a,b){
  return Math.random()>0.5?-1:1; 
} 
aArr.sort(randomSort); 
    
function showIndex(num){ 
  for(var j=0;j<aArr.length;j++){ 
    if(aArr[j]==num){ 
      console.log(j); 
      break; 
    } 
  } 
} 
showIndex(43);

通過for迴圈建立一個陣列,sort方法結合Math.random方法將陣列元素順序打亂,然後求出給定元素的索引值。

相關文章