繁体   English   中英

数组中未定义的显式传递初始值

[英]Explicit passing initial value as undefined in array reduce

我正在测试一些使用数组归约功能的方案。

[1,2].reduce(function(initial ,  val){

        return initial+val;
    } ,1)
    // returns 4 as expected


[1,2].reduce(function(initial ,  val){

    return initial+val;
})
// returns 3

但是显式传递undefined为初始值

[1,2].reduce(function(initial ,  val){

    return initial+val;
}, undefined)
// returns NaN.

对我来说似乎很不寻常。

在这里说明

注意 :如果未提供initialValue ,则reduce将从索引1开始执行回调函数,跳过第一个索引。 如果提供了initialValue ,它将从索引0开始。

因此,您的第二种情况与此类似:

[2].reduce(function(initial, val){
    return initial+val;
}, 1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM