新手求助:我有一个数字数组需要转换为返回原始数字的函数数组,所以a[3]
我需要调用 call 而不是 calla[3]()
例如:
[1,2,3] -> [
function () {return 1;},
function () {return 2;},
function () {return 3;}
]
我该怎么做呢?
新手求助:我有一个数字数组需要转换为返回原始数字的函数数组,所以a[3]
我需要调用 call 而不是 calla[3]()
例如:
[1,2,3] -> [
function () {return 1;},
function () {return 2;},
function () {return 3;}
]
我该怎么做呢?
var arr = [1,2,3];
for (var i = 0; i < arr.length; i++)
arr[i] = (function(i) { return function() { return i; } })(i);
function convert( arr ) {
for ( var i = 0; i < arr.length; i++ ) {
arr[i] = (function( a ) { return function() { return a; }; })( arr[i] );
}
return arr;
}
var arr = convert( [1, 2, 3] );
[1, 2, 3].map(function(num) {
return function(){ return num; }
});
应该做的任务
function transform(a) {
var result = [];
for (var i = 0; i < a.length; i++)
result.push(function(value) {
return function() {
return value;
}
}(a[i]));
return result;
}
var myArray = [1, 2, 3];
var transformed = transform(myArray);