功能接口:多维数组中存在obj对象参数,每个对象存在不同名称的参数,把obj对象转换成url地址参数格式跳转到新的链接上。
1、数组:
var theLinkArr = [{ name: '百度', url: 'http://wwww.baidu.com', obj: { code: 0511, level: 2 } }, { name: '淘宝', url: 'http://wwww.baidu.com', obj: { query: 'ipkd.cn' } }, { name: '抖音', url: 'http://www.douyin.com', obj: { toutiao: 123, xigua: 234, douyin: 557 } }]
2、方法:
function objectToQuery() { let obj = arguments[0]; let prefix = arguments[1]; if (typeof obj !== "object") return ""; const attrs = Object.keys(obj); return attrs.reduce((query, attr, index) => { if (index === 0 && !prefix) query += "?"; if (typeof obj[attr] === "object") { const subPrefix = prefix ? `${prefix}[${attr}]` : attr; query += this.objectToQuery(obj[attr], subPrefix); } else { if (prefix) { query += `${prefix}[${attr}]=${obj[attr]}`; } else { query += `${attr}=${obj[attr]}`; } } if (index !== attrs.length - 1) query += "&"; return query; }, ""); }
3、结果输出
console.log('百度:', theLinkArr[0].url + objectToQuery(theLinkArr[0].obj)) //百度: http://wwww.baidu.com?code=329&level=2 console.log('淘宝:', theLinkArr[1].url + objectToQuery(theLinkArr[1].obj)) //淘宝: http://wwww.baidu.com?query=ipkd.cn console.log('抖音:', theLinkArr[2].url + objectToQuery(theLinkArr[2].obj)) //抖音: http://www.douyin.com?toutiao=123&xigua=234&douyin=557
vuejs获取链接参数to.query.name特殊符号+变成空格解决方法
上面是“js方法实现对象转url参数”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。
当前网址:https://m.ipkd.cn/webs_2273.html
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!