Javascript 如何在forEach语句中编写一个函数来添加数组中的所有数字?

Javascript 如何在forEach语句中编写一个函数来添加数组中的所有数字?,javascript,arrays,foreach,Javascript,Arrays,Foreach,我有一个练习,我必须编写我自己的forEach函数,它使用一个数组和一个“回调”函数来添加数组中的所有元素。 到目前为止,我有: function forEachTest(arr, func){ func(arr) // Simply apply the function to the array } 然而,我不知道这是否是forEach调用的正确工作方式 其次,所述添加元素的函数将因此获取数组,并以某种方式逐个添加每个元素,直到它到达数组的末尾,然后是console.log(resu

我有一个练习,我必须编写我自己的forEach函数,它使用一个数组和一个“回调”函数来添加数组中的所有元素。 到目前为止,我有:

function forEachTest(arr, func){
    func(arr) // Simply apply the function to the array
}
然而,我不知道这是否是forEach调用的正确工作方式

其次,所述添加元素的函数将因此获取数组,并以某种方式逐个添加每个元素,直到它到达数组的末尾,然后是console.log(result)

我尝试使用一个变量来存储值,但这不起作用,结果得到NaN

function addEach(arr) {
    var sum;
    for(i = 0; i < arr.length; i++) {
        sum += arr[i];
    }
    console.log(sum);
}
函数加法器(arr){
var和;
对于(i=0;i
当我调用forEachTest(arr,addEach)时,Nan发生


请注意,arr是任何包含数字的数组。

初始化变量
sum=0

函数forEachTest(arr,func){
func(arr);
}
函数加法器(arr){
var总和=0;
对于(i=0;iforEachTest([1,2,3],附录)初始化变量
sum=0

函数forEachTest(arr,func){
func(arr);
}
函数加法器(arr){
var总和=0;
对于(i=0;iforEachTest([1,2,3],附录)
如何使用
0
初始化
sum
变量,因为在函数内部它最初是
未定义的
。所以在你的循环中,它是这样执行的
undefined=undefined+1
undefined=undefined+2
等等,对于数组中的每个数字都是
NaN
。另外,我猜您在
函数(arr)之前缺少了
返回

函数forEachTest(arr,func){
return func(arr)//只需将函数应用于数组
}
函数加法器(arr){
var sum=0;//请参见此处
对于(i=0;ilog(forEachTest([1,2,3,4,5],addEach))
使用
0
初始化
sum
变量时会怎么样,因为在函数内部它最初是
未定义的。所以在你的循环中,它是这样执行的
undefined=undefined+1
undefined=undefined+2
等等,对于数组中的每个数字都是
NaN
。另外,我猜您在
函数(arr)之前缺少了
返回

函数forEachTest(arr,func){
return func(arr)//只需将函数应用于数组
}
函数加法器(arr){
var sum=0;//请参见此处
对于(i=0;ilog(forEachTest([1,2,3,4,5],addEach))
谢谢,我已经很久没有使用JS了,仍然习惯于语法。如果可以,我会投票的!谢谢,我已经很长时间没有使用JS了,仍然习惯于语法。如果可以,我会投票的!