1. 程式人生 > >讓一個數組隨機

讓一個數組隨機

// 隨機陣列(包括字串陣列,物件陣列)
function shuffle(a) {
    var len = a.length;
    for (var i = 0; i < len - 1; i++) {
        var index = parseInt(Math.random() * (len - i));
        var temp = a[index];
        a[index] = a[len - i - 1];
        a[len - i - 1] = temp;
    }
    return a
}

 

例:

var b=[{'iComment':1},{'iComment':2},{'iComment':3},{'iComment':4},{'iComment':5},{'iComment':6}];

 

遍歷的時候,讓這個陣列,隨機排列,通過以上的方法進行陣列的隨機排列,渲染出來的位置就不是固定得了

 

 

如果數組裡面都是number型別,可以用下面簡單的方法:

  function randomsort(a, b) {
   return Math.random()>.5 ? -1 : 1;
}
var arr = [1, 2, 3, 4, 5];
arr.sort(randomsort);

 

 

隨機取陣列中的一項

需求:有一個數組,每次都取陣列的一項,要求是隨機的

var shareArr=["內容1","內容2","內容3","內容4","內容5"];

var index = Math.floor((Math.random() * shareArr.length));//隨機的索引

shareArr[index]------》隨機拿到陣列的一項