ハッシュ(連想配列)からあるキーの値と一致した値を取得

ハッシュ(連想配列)からあるキーの値と一致した値を取得するには、次のような方法で可能です。

関数定義

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' }]

JavaScript逆引きリファレンス一覧へ戻る