一个未知格式的对象,现在只能勉强使用jquery的each来递归实现。如果使用原生方法该如何实现??求教。 var obj = { "test": 123123, "fruit": '535', "book": { 'aaa': 456, 'bbb': 789, 'ccc': { 'asd': 333, 'af': true } } } export const parseParam = function(param, key, prefix) { //prefix 是否带"&"连接符前缀 let paramStr = prefix ? "&" : ""; if (param instanceof String || param instanceof Number || param instanceof Boolean) { paramStr += `&${key}=${encodeURIComponent(param)}` } else { // 这里使用$.each勉强实现 $.each(param, function(i) { let k = key === null ? i : key + (prefix ? i : `.${i}`); paramStr += `&${parseParam(this, k)}`; }); } return paramStr.substr(1); }; //这里的key和prefix参数没有处理好,不知怎样写可以更规范一些 console.log(parseParam(obj, '', true))
添加回答
举报
0/150
提交
取消