JavaScriptで配列をランダムに並び替える方法


方法1: Fisher-Yatesアルゴリズムを使用する方法 Fisher-Yatesアルゴリズムは、配列をランダムに並び替えるための効果的なアルゴリズムです。

function shuffleArray(array) {
  for (let i = array.length - 1; i > 0; i--) {
    const j = Math.floor(Math.random() * (i + 1));
    [array[i], array[j]] = [array[j], array[i]];
  }
  return array;
}
var arr1 = ["a", "b", "c", "d"];
var shuffledArray = shuffleArray(arr1);
console.log(shuffledArray);

このコードでは、shuffleArray関数が与えられた配列をランダムに並び替えます。Fisher-Yatesアルゴリズムによって、配列の要素を後ろから1つずつ前に移動させ、ランダムな位置に入れ替えます。

方法2: Array.prototype.sort()とMath.random()を使用する方法 Array.prototype.sort()メソッドを使用して、配列の要素をランダムにソートすることもできます。

function shuffleArray(array) {
  return array.sort(() => Math.random() - 0.5);
}
var arr1 = ["a", "b", "c", "d"];
var shuffledArray = shuffleArray(arr1);
console.log(shuffledArray);

このコードでは、sort()メソッドにランダムな値を返す比較関数を渡すことで、配列の要素をランダムにソートしています。

これらの方法を使うことで、JavaScriptで配列をランダムに並び替えることができます。適切な方法を選んで、自分のニーズに合わせて使用してください。