Pot.js で利用可能。 PotLite.js では利用できません。
新しい Pot.Hash のインスタンスを生成します。
引数は任意に要素を指定します。
引数を指定する場合、Object または items() 形式の配列が有効です。
Pot.globalize() が適応されている場合、new Pot.Hash() が new Hash() で実行できます。
新しい Pot.Hash のインスタンスが返ります。
var hash = new Pot.Hash();
hash.set('key1', 'value1');
hash.set('key2', [1, 2, 3]);
Pot.debug(hash.toJSON());
// {"key1":"value1","key2":[1,2,3]}
hash.clear();
// Objectでは予想外の動作になるキー名を設定
hash.set('__iterator__', 'iterator');
hash.set('hasOwnProperty', 'hasOwn');
hash.set('prototype', 'proto');
hash.set('constructor', 'construct');
Pot.debug(hash.toJSON());
// {
// "__iterator__": "iterator",
// "hasOwnProperty": "hasOwn",
// "prototype": "proto",
// "constructor": "construct"
// }
// map()とreduce()でイテレート
var result = hash.map(function(value, key, object) {
return '[' + value + ']';
}).reduce(function(a, b) {
return a + b;
});
Pot.debug(result);
// '[iterator][hasOwn][proto][construct]'