谁能给我解释解释?
1 回答

富国沪深
TA贡献1790条经验 获得超9个赞
我这么说吧,当你有一个如下数组时:
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
的生成),无需关注遍历的过程及方法。帅不帅?
添加回答
举报
0/150
提交
取消