誰能給我解釋解釋?
不太明白js中的forEach()方法。
慕容森
2018-08-07 11:10:00
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
的生成),無需關注遍歷的過程及方法。帥不帥?
舉報