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を再実装する?