LANG SELRCT

コードを書く場所についてはこちら

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