ハッシュ(連想配列)からあるキーの値と一致した値を取得
ハッシュ(連想配列)からあるキーの値と一致した値を取得するには、次のような方法で可能です。
関数定義
JavaScript
var getValueInHash = function(searchKey, searchValue, hash) {
if (typeof searchKey !== 'string' || !searchKey || typeof hash !== 'object') return [];
var result = [];
if (hash[searchKey] && hash[searchKey].match(searchValue)) {
result.push(hash[searchKey]);
} else {
for (var i = 0, len = hash.length; i < len; i++) {
if (hash[i] && hash[i][searchKey] && hash[i][searchKey].match(searchValue)) {
result.push(hash[i]);
}
}
}
return result;
};
使い方
引数名 | 型 | 説明 | |
---|---|---|---|
第一引数 必須 |
searchKey | string | 検索するキー |
第二引数 必須 |
searchValue | string | 検索する文字列(値) |
第三引数 必須 |
hash | string | 連想配列(ハッシュ) |
戻り値
見つかった場合は1個以上の見つかった値が格納された配列、見つからなかった場合は0個の配列を返します。
JavaScript
var hash = [
{
foo : 'a',
bar : '1'
},
{
foo : 'b',
bar : '2'
},
{
foo : 'c',
bar : '3'
},
{
foo : 'd',
bar : '4'
},
{
foo : 'e',
bar : '5'
}
];
var vals = getValueInHash('bar', '3', hash); // [{ foo : 'c', bar : '3' }]