Skip to content

数组随机排列 #18

@shimuash

Description

@shimuash

数组随机排列,一般用于随机播放,图片随机展示

// 方法一
function shuffle (arr){
  for(var i = 0; i < arr.length; i++ ){
     var rand = parseInt(Math.random() * arr.length);
     var temp = arr[rand];
     arr[rand] = arr[i];
     arr[i] = temp;
  }
  return arr;
}

// 方法二
function getRandomIndex (min, max) {
   return Math.floor(Math.random() * (max - min + 1) + min)
}

function shuffle1 (arr) {
  let newArr = arr.slice()
  for (let i = 0; i < newArr.length; i++) {
    let j = getRandomIndex(0, i)
    let temp = newArr[i]
    newArr[i] = newArr[j]
    newArr[j] = temp
  }
  return newArr
}

// 方法三
function shuffle(a) {
    var j, x, i;
    for (i = a.length; i; i--) {
        j = Math.floor(Math.random() * i);
        x = a[i - 1];
        a[i - 1] = a[j];
        a[j] = x;
    }
    return a;
}

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions