$A関数
【抜粋】 var $A = Array.from = function(iterable) { if (!iterable) return []; if (iterable.toArray) { return iterable.toArray(); } else { var results = []; for (var i = 0; i < iterable.length; i++) results.push(iterable[i]); return results; } }
$A関数はArray.from*1としても使えます。引数iterableがnullなら要素なしの配列を返却します。iterableにtoArrayメソッドがあればその結果を返却します。それ以外の場合、iterableのインデックス0〜length-1の要素の値を配列に格納して返却します。
このため、変換するオブジェクトはtoArrayメソッドか、lengthプロパティを持っている必要があります。ただのカスタムオブジェクトを配列に変換する機能はありません。配列に近い構造のオブジェクトでArrayクラスのメソッドを使いたい場合に利用できます。
【例】 <html> <head> <title></title> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <script language="javascript" src="prototype.js" charset="utf-8"></script> <script language="javascript"> <!-- function init(){ var pElm = document.getElementsByTagName('p'); var ary = $A(pElm); ary.each(function(value){alert(value.innerHTML);}); //eachメソッドが使える。 //"零", "壱", "弐", "参"が順に表示される。 } //--> </script> </head> <body onload="init()"> <p>零</p> <p>壱</p> <p>弐</p> <p>参</p> </body> </html>
*1:Arrayクラス固有メソッド