我已经使用了Array.map,但是在相同的数据上,我需要进行其他一些计算。我应该在map内部进行这些计算还是在map之后使用for each进行计算?
return res.data.map(function (obj) {
if(obj.status.id == 6 || obj.status.id == 5){
dateDifference(obj.created_at,obj.closed_at);
}else{
$scope.open++;
}
return {
"id":obj.id,
"subject": obj.subject,
"requester": obj.requester.name,
"assigned": obj.assigned ? obj.assigned.name : '',
"priority": obj.priority.name,
"status": obj.status.name,
"category": obj.category.name,
"created_at": moment(obj.created_at).utcOffset("06:00").format('lll'),
"updated_at": moment(obj.updated_at).utcOffset("06:00").format('lll')
}
})
map
的文档编写方式,预期甚至在某些时候map
被调用的数组也会被修改,更不用说其他副作用了。同样地,规范也是如此:_"map不会直接改变调用它的对象,但对象可能会被回调函数的调用所改变。"_ - James Thorpe