$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クラス固有メソッド