您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

推送对象时,Array.push()使所有元素相同

推送对象时,Array.push()使所有元素相同

问题不在于的push方法Array.prototype而是您的绑定。您要sasync.foreach块的每次迭代中修改相同的对象,而该对象实际上与先前定义的对象相同Subscriber

首先,您应该将s变量的声明移至foreach块。

另外,如果您要创建具有认值的对象,则该对象应为function,它会返回一个新对象:

function Subscriber() {
  return {
    'userID':   '',
    'email':    '',
    'name':     '',
    'stage':    '',
    'poster':   false,
    'canEmail': false,
    'stage':    ''
  };
};

然后可以实例化这样的Subscriber对象:

var s = Subscriber();

有关更多说明,请参见此答案或MDN闭包

其他 2022/1/1 18:17:32 有553人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶