【发布时间】:2017-10-20 06:28:54
【问题描述】:
这是我当前使用forEach()的代码:
1.
// loop with assignment
userForm.forEach(field => {
field.value = ''
})
2.
// if array1 has field which array2 have, assign it
array1.forEach(field => {
if (Object.keys(array2).indexOf(field.name) > -1) {
field.value = array2[field.name]
}
})
3.
array1.forEach(field => {
field.shouldShow = false
field.start = moment(invoice.start).format('YYYY/MM/DD')
field.end = moment(invoice.end).format('YYYY/MM/DD')
// ..brabrabra asignment
})
是否可以将所有forEach() 函数转换为map() 函数?
【问题讨论】:
-
不清楚你想要达到什么目的
-
当你遍历对象并且只改变它的属性时,它并没有太大的区别。使用地图时,您必须添加
return field。 -
想让它更实用,比如:array1.map(field => xxxxxx)
-
@KevinHu 我读到你想将
forEach转换为map,但你想在循环中实现什么?第一个和第三个可以很容易地完成,但第二个可能不合适。那么,用例是什么?你想达到什么目的? -
function emailClients(clients) { clients.filter(isClientActive) .forEach(email) } function isClientActive(client) { var _clientRecord = database.lookup(client);返回 _clientRecord.isActive();我应该这样改变吗?
标签: javascript for-loop foreach ecmascript-6