素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: すかいぷ:javascripter_  か javascripter あっと tsukkun.net skypeのほうがいいです

Hash

var Hash = function() {};

Hash.prototype.__defineGetter__('length',
function() {
  var len = 0;
  for (var i in this) this.hasOwnProperty(i) && len++;
  return len
});
Hash.prototype.keys = function() {
  var keys = [];
  for (var i in this) this.hasOwnProperty(i) && keys.push(i);
  return keys;
}
Hash.prototype.values = function() {
  var values = [];
  for (var i in this) this.hasOwnProperty(i) && values.push(this[i]);
  return values;
}
Hash.prototype.merge = function(hashObj) {
  for (var i in hashObj) hashObj.hasOwnProperty(i) && (this[i] = hashObj[i]);
  return this;
}
var foo = new Hash;
foo['a'] = 3 foo.values()

これじゃ使いづらいなあ。