JavaScript 1.6のArray map()

var functionLength = 5;
var parameterList = new Array(functionLength).map(function(_, i){ return "$" + i; }).join(",");
  • 期待するparameterListの値: "$0,$1,$2,$3,$4"
  • 実際のparameterListの値: ",,,,"
    • new Array(length)は配列を生成して長さを指定しているだけなのでmapの互換性コードで言うとif (i in this)が全てfalseになって関数が呼び出されない…
  • 代替:
    • map()を使うのをやめて普通にforループで対応する?
    • 生成した配列に対して先に.join(",").split(",")などとしてものを詰める?
    • map()を再実装する?
    • Arrayを再実装する?