我正在尝试使用angular.forEach
函数将一个对象替换为另一个对象:
angular.forEach(agenda,function(evt){
if(evt.identifiant == event.identifiant){
evt = event;
}
});
由于某种原因,对象evt
未被替换为event
数组中的agenda
对象。 evt
和event
都是正确的JSON对象(日历事件)。
我想知道我的语法是否正确,还是应该以其他方式这样做?
编辑:
此代码有效,但这不是我想要的,因为它仅更改了evt
对象中的值:
angular.forEach(agenda,function(evt){
if(evt.identifiant == event.identifiant){
evt.start = event.start;
}
});
答案 0 :(得分:1)
如果我正确理解了您的问题,那么您将需要通过将过滤后的angenda
分配给与event
相对应的当前key
来更新evt
对象本身像这样:
/* The iteration handler on forEach provides access to the key of the current value */
angular.forEach(agenda,function(evt, key){
if(evt.identifiant == event.identifiant){
/* Assign/update the value for current key of agenda like so */
agenda[key] = event;
}
});
有关angular.forEach
see the documentation的更多信息-希望能对您有所帮助!
答案 1 :(得分:0)
angular.forEach(agenda,function(evt, index){
if(evt.identifiant == event.identifiant){
agenda[index] = event;
}
});