不太明白js中的forEach()方法。

谁能给我解释解释?

慕容森
浏览 800回答 1
1回答

富国沪深

我这么说吧,当你有一个如下数组时:var&nbsp;users&nbsp;=&nbsp;[ &nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lastName:&nbsp;'Li',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;firstName:&nbsp;'Lei' &nbsp;&nbsp;&nbsp;&nbsp;}, &nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lastName:&nbsp;'Han',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;firstName:&nbsp;'Meimei' &nbsp;&nbsp;&nbsp;&nbsp;} ];现在我希望你处理这个数组,给其中每一个对象加一个fullName字段,就把lastName和firstName拼一起就行(简单吧)。当你用相对原始的语法处理时,可能是这样的:for(var&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;users.length;&nbsp;i++){&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;user&nbsp;=&nbsp;users[i]; &nbsp;&nbsp;&nbsp;&nbsp;user.fullName&nbsp;=&nbsp;user.lastName&nbsp;+&nbsp;user.firstName; }代码是对的,但却不好(优秀),为什么?原因有2创建了与主业务无关的for loop创建了与主业务无关的变量i用forEach的好处是什么?答案就是解决了上面那2个缺陷,代码如下:users.forEach(function(user,&nbsp;index,&nbsp;arr){ &nbsp;&nbsp;&nbsp;&nbsp;user.fullName&nbsp;=&nbsp;user.lastName&nbsp;+&nbsp;user.firstName; });这里,你只需要关注主业务(fullName的生成),无需关注遍历的过程及方法。帅不帅?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript