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

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 关注
  • 1928 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信