【发布时间】:2017-10-01 19:48:53
【问题描述】:
我确定这只是我遗漏的一些简单的愚蠢错误,但谁能告诉我为什么返回 3 而不是 [{ "method": 'popup', "minutes": ''}, {"method": 'email', "minutes": '10'}, {"method": 'popup', "minutes": '20'}];?
我做了一个 jsfiddle,所以你也可以看到:https://jsfiddle.net/qk10arb0/3/
HTML
<p>Click the button to add a new element to the array.</p>
<button onclick="addNewReminder()">Try it</button>
<p id="demo"></p>
Javascript
function addNewReminder(){
var newReminder = {
"method": 'popup',
"minutes": '20'
};
var reminders = [{
"method": 'popup',
"minutes": ''
}, {
"method": 'email',
"minutes": '10'
}];
reminders = reminders.push(newReminder);
document.getElementById("demo").innerHTML = reminders;
}
谢谢!!!
【问题讨论】:
-
返回值是新的长度,这是意料之中的。原始数组已发生变异,因此您无需返回它
-
我确实认为@kind 用户的回答更清楚地解决了这个问题,这个问题的标题和方法可能会让遇到相同问题的其他人更容易找到和理解,但我当然可以标记这个如果你这么认为,作为副本。类似的主题,但在我看来不同的解释(希望对其他犯下愚蠢错误的人有所帮助)
-
投反对票有什么原因吗?
标签: javascript