Javascript 更新现有键值对抛出<;对象>;没有方法';推动';错误
我试图用一个新的键值更新一个现有的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
$.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的可能重复:考虑到已接受的答案,原来根本不需要推送,因此建议的重复是没有帮助的。这两个问题的预期输出在我看来非常相似。我收回了投票:)谢谢你..我不知道我在想什么。推动这件事。再次感谢你。