给出一段代码,不知道大家有没有碰到过这样的问题:
let aaa = [1,2,3,4];
aaa.reduce(
(sum,item)=>{ console.log(sum,item); return sum;}
);
上面这段代码的执行没有问题。结果:
0 1
1 2
3 3
6 4
然后,有趣的来了:
把代码改成这样:
let aaa = [1];
aaa.reduce(
(sum,item)=>{ console.log(sum,item);return sum;}
);
你是不是以为会运行一次,至少输出:
0 1
这样?不是的,,结果是什么输出都没有。。。
然后,你再把sum的初始值设置一下:
let aaa = [1];
aaa.reduce(
(sum,item)=>{ console.log(sum,item);return sum;},
0
);
打印又出现了:
0 1
这个坑我调了好久才发现。。不知道大家有没有遇到过一样的情况。目前我还没有试过是JS本身的问题,还是小程序的JS内核解释器的bug。