Apps Scriptリファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

2020年4月29日水曜日

配列の要素をシャッフルして元のindex値も知りたい


配列をシャッフルする方法は以下↓にも書きましたが
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;
}


実行結果

以下のようなログが出力されます。
実行する度に結果は異なります。

Latest post

Googleドキュメントに見出しを追加したい

今回の例では、ドキュメントの末尾に「見出しD」 を追加します。 見出しA, B, C, Dのスタイルは、見出し3 ( HEADING3 ) に設定しています。  下記Code.gsの  GOOGLE_DOCUMENT_URL を設定して  addHeadingToEnd()  を...