我确定这只是我错过的一个简单的愚蠢错误,但是有人可以告诉我为什么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;
}
感谢!!!
答案 0 :(得分:8)
Array#push
方法就地工作,您不必将其分配给新变量。它不会返回一个新数组,但会修改原来的数组并返回它length
。这就是为什么你得到3
的结果。
要获得所需的结果,只需调用它,而不分配任何变量:
reminders.push(newReminder);