概要
連想配列で深い階層のキーが存在するか確認します。
ない場合のデフォルトの値も設定できます。
※PHPでは、こんな感じ。
isset($a['a']['b']['c']['d'])
ソース
get = function(val, keys, def){
var keys = String(keys).split('.');
for(var i=0;i<keys.length && val;i++){
val = val[keys[i]];
}
return val || val === false ? val : def;
}
使い方
調べたい変数を第一引数にし、第二引数にキーを.
区切りで指定します。
第三引数に、見つからなかった場合 ( null
or undefined
) の値を代入します。
a = {a:{b:{c:{d:'見つかりました'}}}};
// 見つかりました
get(a, 'a.b.c.d', '見つかりませんでした');
// 見つかりませんでした
get(a, 'a.aaa', '見つかりませんでした');