开发者社区> 问答> 正文

Javascript 数组覆盖问题

有这么一段代码:

        var datas=[];
        var data={};
        var i=0;
        $(".baby-panel").each(function(){
            var baby_id=$(this).children(".babyid").attr("baby_id");
            var baby_name=$(this).children(".babyname").find("input[name='baby"+i+"_name']").val().trim();

            var baby_sex=$(this).children(".babysex").find("input[type=radio]:checked").val();
            var baby_birth=$(this).children(".babybirth").find(".form-control").val();

            data["id"]=baby_id;
            data["name"]=baby_name;
            data["sex"]=baby_sex;
            data["birth"]=baby_birth;

            datas[i]=data;
            i++;
        });

:如何循环将data的数据添加到datas中,现在datas的数据都是data的最后一条记录。
例如:data={["id":1,"name":1,"sex":1,"birth":2014-05-05],["id":2,"name":2,"sex":2,"birth":2014-06-05]}

经过each()遍历后,datas的输出*却是*[{"id":"2","name":"2","sex":"2","birth":"2014-06-05"},{"id":"2","name":"2","sex":"2","birth":"2014-06-05"}],

而不是:[{"id":"1","name":"1","sex":"1","birth":"2014-05-05"},{"id":"2","name":"2","sex":"2","birth":"2014-06-05"}]

展开
收起
云栖技术 2016-06-02 11:32:50 2522 0
1 条回答
写回答
取消 提交回答
  • 社区爱好者,专为云栖社区服务!
               var datas=[];
        //var data={};//把data放到循环里面,否则会覆盖
        var i=0;
        $(".baby-panel").each(function(){
                        **  var data={};//每次新建一个data**
            var baby_id=$(this).children(".babyid").attr("baby_id");
            var baby_name=$(this).children(".babyname").find("input[name='baby"+i+"_name']").val().trim();
    
            var baby_sex=$(this).children(".babysex").find("input[type=radio]:checked").val();
            var baby_birth=$(this).children(".babybirth").find(".form-control").val();
    
            data["id"]=baby_id;
            data["name"]=baby_name;
            data["sex"]=baby_sex;
            data["birth"]=baby_birth;
    
          **  datas.push(data);**
            i++;
    2019-07-17 19:24:28
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
JavaScript异步编程 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载