配列をシャッフルする方法は以下↓にも書きましたが
https://www.pre-practice.net/2018/02/javascript_18.html
シャッフルしたindexも取得したくてindexArrayを追加しました。
コード.gs
function shuffleIndexAndWords() {
var originalWords = ["Practice", "makes", "the", "impossible", "possible"];
var indexArray = [];
for(var i = 0; i < originalWords.length; i++) {
indexArray.push(i);// [1, 2, 3,…]という配列を作る
}
var shuffledIndex = shuffle(indexArray);// indexArrayをシャッフルする
Logger.log(shuffledIndex);
var shuffledWords = [];
for(var j = 0; j < indexArray.length; j++) {
shuffledWords.push(originalWords[shuffledIndex[j]]);// originalWordsをシャッフルした配列を作る
}
Logger.log(shuffledWords);
}
function shuffle(originalWords) {
var len = originalWords.length;
for(var i = 0; i < 10; i++){// 混ぜる回数を設定する
var rand = Math.floor(Math.random() * len);
var word0 = originalWords[0];
var wordsRand = originalWords[rand];
originalWords[rand] = word0;
originalWords[0] = wordsRand;
}
var words = originalWords;
return words;
}
|
実行結果
以下のようなログが出力されます。
実行する度に結果は異なります。





























