问答详情
源自:5-4 [JavaScript]数组方法(下)

为什么forEach方法多出个undefine?

代码如下

var arr = [20,3,8,11,18];
arr.forEach(function(x,index,b){
  console.log(x+","+index+"$"+(b === arr));
});

在firebug上运行结果如下,哪位大神帮忙看一下什么缘故,谢了

http://img2.mukewang.com/5a1031c60001c49707110607.jpg


提问者:慕UI3524263 2017-11-18 21:13

个回答

  • 慕侠2155777
    2018-12-24 10:24:59

    语句没错,问题可能不是foreach出现的

  • White_Windmill
    2018-12-09 19:26:30

    你好,你这个undefined并不是因为代码而输出的。是类似以下这种情况的原因。https://img1.mukewang.com/5c0cfbe30001c5ce06640258.jpg

  • qq_子谦_0
    2018-04-24 15:43:42

    你看到你的代码了没有没?18后面还有个,号这个逗号就代表后面还有个空值。所以就多个

    undefine,你这个数组的长度是6


  • qq_蜘蛛的听觉在脚上_03435164
    2017-11-19 20:59:13

    你随便console.log('a')最后也会出现一个underfined的


  • 简单的幸福123___
    2017-11-19 20:30:34

    应该下标减一。