LANG SELRCT

コードを書く場所

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;
}


実行結果

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

最新の投稿

SlackのOutgoing WebhooksでJIRAに課題を作りたい

MISSION SlackのOutgoing Webhooksを利用して、ブログの新規投稿をJIRA課題として作成する。 KEY SlackのRSS設定 Outgoing Webhooksの設定 JIRA API Blogger PROCESS SlackでブログのR...