ハッシュ(連想配列)からあるキーを持つ値を取得
ハッシュ(連想配列)からあるキーを持つ値を取得するには、次のような方法で実装できます。
関数定義
JavaScript
/**
* ハッシュ(連想配列)からあるキーを持つ値を取得
* @param {string} searchKey 検索するキー
* @param {object} hash 検索対象のハッシュ(連想配列)
* @return {any[]} 見つかった値を配列で返す
*/
var getValueWithKey = function(searchKey, hash) {
var result = [];
if (!searchKey || typeof searchKey !== 'string') return [];
if (!hash || typeof hash !== 'object') return [];
if (hash[searchKey]) {
result.push(hash[searchKey]);
} else {
for (var i = 0, len = hash.length; i < len; i++) {
if (hash[i] && hash[i][searchKey]) {
result.push(hash[i][searchKey]);
}
}
}
return result;
};
使い方
引数
引数名 | 型 | 説明 | |
---|---|---|---|
第一引数 必須 |
searchKey | string | 検索するキー |
第二引数 必須 |
hash | object | 検索対象のハッシュ(連想配列) |
戻り値
見つかった値を配列で返します。
JavaScript
var hash = [
{
foo : 'a',
bar : '1'
},
{
foo : 'b',
bar : '2'
},
{
foo : 'c',
bar : '3'
},
{
foo : 'd',
bar : '4'
},
{
foo : 'e',
bar : '5'
}
];
var values = getValueWithKey('bar', hash);
alert(values); // ['11', '22', '33', '44', '55']