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

2018年1月1日月曜日

JavaScriptでオブジェクトから値を取得する




オブジェクトのkeyからvalueを取得する例をひとつ書きました

ここではすべての値ではなく
与えられた key から value を取得してみます


すべてのvalueを取得する場合





コード.gs
function get_data() {
  var keys = "a a b c";
  keys = keys.split(" ");
  var result = [];
  for (var i = 0; i < keys.length; i++) {
    var value = data[keys[i]];
    result.push(value);
  }
  Logger.log(result);
}

var data = {
  "a": "えー",
  "b": "びー",
  "c": "しー"
}

意訳
この機能がやること
dataオブジェクトから取得したい値のキーをkeysに入れて
それを半角スペースで区切って
結果を入れる入れ物を用意して
keysの数だけ以下を繰り返す
dataオブジェクトからひとつずつ値を取得して
resultに追加する

resultをログに出す


dataオブジェクトを作る
data["a"] なら えー を返す
data["b"] なら びー を返す
data["c"] なら しー を返す





補足


keyとvalueを抽象的に書くと
dataオブジェクトはこうなっていて

var data {
"key1": "value1",
"key2": "value2",
"key3": "value3"
}


get_data()の中で
data["key1"]と書いてvalue1を取得しています


コード.gsの中で使っているkeyとvalueはこうなっていて
var data {
"a": "えー",
"b": "びー",
"c": "しー"
}

data["a"]で "えー" を
data["b"]で "びー" を
data["c"]で "しー" を
それぞれ取得できるので

for文のここで取得してresultに追加して
var value = data[keys[i]];
result.push(value);

最終的に全部入ったresultをログに出しています
Logger.log(result);

Latest post

Google Formsで記述式の質問に字数制限を設定したい

記述式の質問には「回答の検証」を設定することができます フォームの編集画面 右下の︙メニューで「回答の検証」を選択します 検証方法には「数値」「テキスト」「長さ」「正規表現」という種類があります 今回は字数制限したいので「長さ」を選びます 長さには「最大文字数」か「最小文字数」を...