为什么forEach方法多出个undefine?

来源:5-4 [JavaScript]数组方法(下)

慕UI3524263

2017-11-18 21:13

代码如下

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


写回答 关注

5回答

  • 慕侠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

    应该下标减一。

    慕UI352...

    不是很懂,是在参数里减一还是函数体里减一? 具体代码该怎么改,希望能写一下,多谢了 这是 javascript深入浅出 课程里数组章节数组方法一课中老师给的例子之一,他的课件上只显示前五行,而我运行后多出一行undefined,很懵

    2017-11-19 22:47:25

    共 1 条回复 >

JavaScript深入浅出

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

281111 学习 · 1020 问题

查看课程

相似问题