prototype.js分析 Enumerable

inject 使い方よくわかってないですが。。

<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.inject = function(memo, iterator){
	this.each(function(v, k){
		memo = iterator(memo, v, k);
	});
	return memo;
}

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