为了账号安全,请及时绑定邮箱和手机立即绑定

for循环为何只返回最后一次结果

for循环为何只返回最后一次结果

胡子哥哥 2018-08-04 14:14:48
我想返回{name:"tom",age:"12"},为什么是返回{age:"12"}    function parseQuery(query){    //以&分隔传入的字符串,变为数组    var arr = query.split("&");    for (var i = 0; i < arr.length; i++) {        var obj1 = {};        //对象属性        var pro = arr[i].match(/[^=]*/)[0];        //对象属性的值,要先判定是否为空        if (arr[i].match(/=.*/) === null) {            var val = "";            } else {            var val = arr[i].match(/=.+/)[0].substring(1);        }        //给对象添加属性值对            if (pro === "") {            continue;        } else{            obj1[pro] = val;        }    }    return obj1;}parseQuery("name= tom &age=12");
查看完整描述

1 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

你把对象的声明放到循环里, 每次循环都要初始化一次. 上个循环刚添加的name, 第二个循环就给清空啦


查看完整回答
反对 回复 2018-09-28
  • 1 回答
  • 0 关注
  • 2016 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号