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