我已经编写了以下代码。想法是遍历两个数组,以便在每个索引处将内容相乘在一起,然后将其记住并添加到下一个索引等的乘积中。我无法弄清楚我编写的代码出了什么问题。谁能告诉我这是怎么回事?谢谢!
function main() {
var first = [1,2,3,4];
var second = [5,6,7,8];
var sum = 0;
function iterate(a, fun) {
var n; n = a.length;
var i;
for (i=0; i<n; i++) {
fun(a[i]);
}
}
multiply();
function multiply(x,y) {
iterate(first, out());
function out(total1) {
x = total1;
iterate(second, inn());
function inn(total2){
y = total2;
sum += x*y;
}
}
}
document.write(sum);
}
main();
最佳答案
代替
iterate(first,out());
你需要
iterate(first,out);
您想将函数
out
传递给iterate
,而不是没有参数的调用out
的结果,这就是您现在正在做的。同样
iterate(second, inn());
应该
iterate(second, inn);
关于javascript - 两个数组上的函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5775718/