js项数组添加元素,前面的值总是被最后一次的值覆盖的问题

http://blog.csdn.net/xiaoye319/article/details/78416762

同上文,我用splice函数,向数组中添加实体时,在for循环中总是被最后一个覆盖

原来的写法

 dataUserEntity={title:'',email:''};
for (var i = 0; i < vm.dataUser.length; i++) {
                    if (vm.dataUser[i].checked = true & vm.dataUser[i].userEntity.Email == '') {
                        vm.dataUser[i].checked=false;
                        this.$Modal.warning({
                            title: '警告',
                            content: "未检测到" + vm.dataUser[i].title + "的邮箱号,不可发送邮件",
                        });
                        return;
                    }else if(vm.dataUser[i].checked = true & vm.dataUser[i].userEntity.Email != '')
                    {
                       
                       dataUserEntity.title=vm.dataUser[i].title;
                       dataUserEntity.email=vm.dataUser[i].userEntity.Email;
                       vm.dataUser1.splice(vm.dataUser1.length, 0, dataUserEntity);
                      // vm.dataUser1.push( vm.dataUserEntity);
                    }
                }

后改为:

for (var i = 0; i < vm.dataUser.length; i++) {
                    if (vm.dataUser[i].checked = true & vm.dataUser[i].userEntity.Email == '') {
                        vm.dataUser[i].checked=false;
                        this.$Modal.warning({
                            title: '警告',
                            content: "未检测到" + vm.dataUser[i].title + "的邮箱号,不可发送邮件",
                        });
                        return;
                    }else if(vm.dataUser[i].checked = true & vm.dataUser[i].userEntity.Email != '')
                    {
                       var dataUserEntity={title:'',email:''};
                       dataUserEntity.title=vm.dataUser[i].title;
                       dataUserEntity.email=vm.dataUser[i].userEntity.Email;
                       vm.dataUser1.splice(vm.dataUser1.length, 0, dataUserEntity);
                      // vm.dataUser1.push( vm.dataUserEntity);
                    }
                }

dataUserEntity={title:'',email:''} 定义为全局时,添加的实体实际上是一个实体,第二次赋值会覆盖第一个,第三个覆盖第二个,类推,结果是循环n次,则数组添加n次最后一个实体。

解决办法就是在循环中定义实体


已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页