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

2018年1月27日土曜日

evalを使ってみる


evalにはeval() - JavaScript | MDNにも書かれているように意図しないコードが実行されるリスクがあるため別の方法で実現するのが良さそうです

ここではどんなことができるのか試したコードを備忘録として書いておきます



コード.gs
function create_vars(){
  var words = ["abc", "ABC"];
  
  for (var i = 0; i < words.length; i++) {
    var str = "var word" + i + "=" + '"' + words[i] + '"';
    eval(str);
  }

  var result = [];
  for (var i = 0; i < words.length; i++) {
     result.push(eval("word" + i));
  }
  Logger.log(result)
}
意訳
この機能がやること
単語を入れた配列を用意して

単語の数だけ以下を繰り返す
var word0 = words[0];とvar word1 = words[1];を文字列で作って
それらをjavascriptのコードとして扱えるようにする


変数の値を入れる入れ物を用意して
単語の数だけ以下を繰り返す
resultにword0の値を追加して、 word1の値も追加して

ログに出す








参考

Latest post

Google Formsで複数の質問と選択肢の順番を毎回シャッフルしたい(Apps Script)

質問や選択肢をシャッフルする方法ついては以下のリンク先に書きました Google Formsで質問の順番をシャッフルしたい(setShuffleQuestions) Google Formsで選択肢の順番を毎回シャッフルしたい(UI設定のみ) Google Formsで選択肢の順...