问题不在于的push
方法,Array.prototype
而是您的绑定。您要s
在async.foreach
块的每次迭代中修改相同的对象,而该对象实际上与先前定义的对象相同Subscriber
。
首先,您应该将s
变量的声明移至foreach块。
另外,如果您要创建具有默认值的对象,则该对象应为function
,它会返回一个新对象:
function Subscriber() {
return {
'userID': '',
'email': '',
'name': '',
'stage': '',
'poster': false,
'canEmail': false,
'stage': ''
};
};
然后可以实例化这样的Subscriber
对象:
var s = Subscriber();