我已经解决了这个问题大约3个小时,我无法解决这个问题。我已经学习了Codecademy和Code School Javascript课程,根据托管这个代码块的博客,我应该知道答案:
var merge = function(array1, array2, callback){
//your code here.
}
var x = merge([1, 2, 3, 4], [5, 6, 7, 8], function(a, b){
return a + b;
});
//x should now equal [6, 8, 10, 12].
更新正确的代码(非常感谢T.J。!):
var merge = function(array1, array2, callback) {
var i, newArray = [];
for (i=0; i < array1.length; i++) {
newArray[i] = callback(array1[i], array2[i]);
}
return newArray;
};
var x = merge([1, 2, 3, 4], [5, 6, 7, 8], function(a, b){
return a + b;
});
console.log(x);
答案 0 :(得分:1)
在merge
中,您:
为返回值创建一个新的空白数组。
如果array1
和array2
的长度不同,请考虑您要执行的操作,尽管它们在示例用法中。
使用索引变量从0
循环到< array1.length
(很可能是for
循环)。
通过调用callback
为返回值数组中的每个索引填写条目,并将array1
和array2
中的索引条目作为参数传递并存储它在数组中的返回值。
返回新阵列。