javascript推送返回数字而不是对象

javascript推送返回数字而不是对象,javascript,Javascript,我确信这只是我遗漏的一个简单愚蠢的错误,但是谁能告诉我为什么返回3而不是[{“方法”:“弹出”,“分钟”:“},{“方法”:“电子邮件”,“分钟”:“10”},{“方法”:“弹出”,“分钟”:“20”}? 我制作了一个JSFIDLE,这样您也可以看到: HTML <p>Click the button to add a new element to the array.</p> <button onclick="addNewReminder()">Try i

我确信这只是我遗漏的一个简单愚蠢的错误,但是谁能告诉我为什么返回
3
而不是
[{“方法”:“弹出”,“分钟”:“},{“方法”:“电子邮件”,“分钟”:“10”},{“方法”:“弹出”,“分钟”:“20”}

我制作了一个JSFIDLE,这样您也可以看到:

HTML

<p>Click the button to add a new element to the array.</p>

<button onclick="addNewReminder()">Try it</button>

<p id="demo"></p>
谢谢

Array#push
方法在原位工作,您不必将其分配给新变量。它不会返回新数组,但会修改原始数组,并返回其
长度
。这就是为什么结果是
3

要获得所需的结果,只需调用它,而不指定任何变量:

reminders.push(newReminder);

返回值是新的长度,这是预期的。原始数组经过了变异,因此您不需要返回itI do think@kind user的响应更清晰,可以修复它,这个问题的标题和方法可能会让其他遇到相同问题的人更容易找到和理解,但如果您这样认为,我当然可以将其标记为重复。类似的话题,但在我看来有不同的解释(希望对犯下愚蠢错误的其他人也有帮助)是否有理由进行否决表决?即使使用上述解决方案,它也会返回数组的长度,而不是最终的长度array@vikramvi然后推新元素后,返回整个数组-
返回提醒
reminders.push(newReminder);