用angular.forEach替换json中的对象

时间:2019-02-21 21:37:37

标签: javascript angularjs json

我正在尝试使用angular.forEach函数将一个对象替换为另一个对象:

angular.forEach(agenda,function(evt){

    if(evt.identifiant  == event.identifiant){

        evt = event;
    }

});

由于某种原因,对象evt未被替换为event数组中的agenda对象。 evtevent都是正确的JSON对象(日历事件)。

我想知道我的语法是否正确,还是应该以其他方式这样做?

编辑:

此代码有效,但这不是我想要的,因为它仅更改了evt对象中的值:

angular.forEach(agenda,function(evt){

    if(evt.identifiant  == event.identifiant){

        evt.start = event.start;
    }
});

2 个答案:

答案 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;
    }

});