Javascript 更新现有键值对抛出<;对象>;没有方法';推动';错误

Javascript 更新现有键值对抛出<;对象>;没有方法';推动';错误,javascript,jquery,Javascript,Jquery,我试图用一个新的键值更新一个现有的JavaScript对象,同时也要像这样更新一个现有的值 $.each(eventsData, function() { if (this.ID== "eb_0") { this.push({ author_name: "John Seeds" //new key value pair to be added. title: newTitle_var //to be updated

我试图用一个新的键值更新一个现有的JavaScript对象,同时也要像这样更新一个现有的值

$.each(eventsData, function() {
    if (this.ID== "eb_0") {
        this.push({
            author_name: "John Seeds" //new key value pair to be added.
            title: newTitle_var //to be updated
        });
    }
});
console.log(this.eventsData)  
我的物体看起来像这样

[
    Object { ID="eb_0", title="DayY", Date=Date, more...}, 
    Object { ID="eb_1", title="DayZ", Date=Date, more...},
    Object { ID="eb_2", title="DayX", Date=Date, more...}          
]
当前console.log输出以下错误

Uncaught TypeError: Object #<Object> has no method 'push' 
uncaughttypeerror:对象#没有方法“push”
有谁能帮我解决这个问题吗?

您可以使用:

$.each(eventsData, function () {
    if (this.ID == "eb_0") {
        this.author_name = "John Seeds"; //new key value pair to be added.
        this.title = newTitle_var; //to be updated
    }
});

您应该使用变量而不是
this
,因为
push()
与数组对象一起工作。看来
this
并不是您所期望的。另外,您的对象实际上是一个数组。@Ejay的可能重复:考虑到已接受的答案,原来根本不需要推送,因此建议的重复是没有帮助的。这两个问题的预期输出在我看来非常相似。我收回了投票:)谢谢你..我不知道我在想什么。推动这件事。再次感谢你。