prototype.js分析 Enumerable

配列になんらかの処理を加える collect()

<script>
Array.prototype._each = function(iterator){
	for(var i=0, l=this.length; i<l; i++){
		iterator(this[i]);
	}
};

Array.prototype.each = function(iterator){
	var index = 0;
	this._each(function(v){
		iterator(v, index++);
	});
};

Array.prototype.collect = function(iterator){
	var rs = [];
	this.each(function(v, k){
		rs.push(iterator(v, k));
	});
	return rs;
};

var kekka = "hoge,moge,foo,bar".split(',').collect(function(v, k){
	return v + "_dayo!!";
});
console.log(kekka);
</script>