ハッシュ(連想配列)を区切り文字を指定して連結し文字列に変換
ハッシュ(連想配列)を区切り文字を指定して連結し文字列に変換するには、次のような方法で可能です。
この実装は、Array.joinのハッシュ版を想定した実装方法です。
関数定義
JavaScript
/**
* ハッシュ(連想配列)を区切り文字を指定して連結し文字列に変換
* @param {object} obj ハッシュ(連装配列)
* @param {string} fDelimiter キーと値を連結する(区切る)文字列
* @param {string} sDelimiter キーと値のセットをそれぞれ連結する(区切る)文字列
* @return {string} ハッシュ(連装配列)のすべてが連結された文字列を返す
*/
var joinObj = function(obj, fDelimiter, sDelimiter) {
var tmpArr = [];
if (typeof obj === 'undefined') return '';
if (typeof fDelimiter === 'undefined') fDelimiter = '';
if (typeof sDelimiter === 'undefined') sDelimiter = '';
for (var key in obj) {
tmpArr.push(key + fDelimiter + obj[key]);
}
return tmpArr.join(sDelimiter);
};
使い方
引数名 | 型 | 説明 | |
---|---|---|---|
第一引数 必須 |
obj | object | ハッシュ(連装配列) |
第二引数 必須 |
fDelimiter | string | キーと値を連結する(区切る)文字列 |
第三引数 必須 |
sDelimiter | string | キーと値のセットをそれぞれ連結する(区切る)文字列 |
戻り値
ハッシュ(連装配列)のすべてが連結された文字列を返します。
JavaScript
var obj = {
foo : 'a',
bar : 'b',
baz : 'c'
};
var result = joinObj(obj, '=', ',');
alert(result); // foo=a,bar=b,baz=c