任意の値の配列があります。配列を元の値を返す関数の配列に変換する関数を作成したので、a[3] を呼び出す代わりに a3 を呼び出します。
動作しないコードは次のとおりです。コード。このエラーが発生しますCannot call method '1' of undefined
。
var numToFun = [1, 2, { foo: "bar" }];
var numToFunLength = numToFun.length;
function transform(numTo) {
for (var i = 0; i < numToFunLength; i++) {
(function(num){
numTo.unshift(function() {
return num;
});
}(numTo.pop()))
}
}
var b = transform(numToFun);
console.log(numToFun);
console.log(b[1]());