js實現陣列內元素隨機排序

2022-03-05 12:12:51 字數 642 閱讀 5413

其實蠻容易實現的,關鍵是簡潔與否,下面是我自己寫的。

function

randomsort(a)

return

random;

} var a = [1,2,3,4,5,6,7,8,9,10];

console.log(randomsort(a));

網上搜了下,有更簡潔的,是用陣列的sort方法,**如下:

function

randomsort(a, b)

var arr = [1, 2, 3, 4, 5];

arr.sort(randomsort);

通過隨機產生0到1的數,然後判斷是否大於0.5從而影響排序,產生隨機性的效果。

上面我們測試的時候都是用純數字的陣列元素測試的,當然陣列元素可以是字串,也可以是物件,都是可以排序的。

不過有個問題,不管是我的方法還是那個牛人的方法,隨機排序之後,原陣列都變掉了,這個是要注意的。雖然我的方法裡面有這麼一句:var arr = a,但實際上這裡的arr只是對陣列a的引用,arr改變了,a也會改變。

要解決這個問題也不難,可以對陣列進行拷貝,有深拷貝和淺拷貝什麼的,這個大家可以去網上搜一下。具體看用處了,如果實在不需要原陣列的話沒必要多此一舉了。

JS 陣列隨機排序

程式 用math.random 函式生成0 1之間的隨機數與0.5比較,返回 1或1 function randomsort a,b var arr 1,2,3,4,5 var arr2 arr.sort randomsort alert arr2 這裡介紹下sort 函式,在js中array物件裡...

陣列元素的隨機排序

function randomorder targetarray var arraylength targetarray.length 目標陣列的長度 var temparray1 new array 先建立乙個正常順序的陣列 for var i 0 i arraylength i 將目標陣列的元素...

JS 對陣列元素排序

sort 公升序 reverse 降序 為實現排序,sort 會將陣列的每個項tostring 轉型。然後比較字串確定順序。var values 0,1,5,10,15 value.sort alert values 0,1,10,15,5 雖然5小於10但字串比較時10卻位於5之前。因此sort方...