Pagesオブジェクトにeachメソッドをかなり強引に実装する

javascriptのエラいひとに槍玉にあげられそうなかんじだけど,全体のコードのタイプ量が減るので5分ぐらいは早く家に帰ることが可能になるかもしれません.ういた5分は有効にお使いください.

#target InDesign

var doc = app.activeDocument;
doc.pages.__proto__.each = function(fn){
	with({tgt:this}){
		for(var i=0; i<tgt.length; i++){
			fn(tgt[i],i); }}};

doc.pages.each(function(o,idx){
	alert(o.name);
	alert(idx);});

おそらく(function(o){...})(obj)とかで再帰関数をうまくつくると,TextFramesとかParagraphsとかCharactersとかその他モロモロにeachを強引に実装できると思います.けどあんまりやらないほうがいいかもしれません.