web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. seo教程
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站

js方法实现对象转url参数

3039 ℃
           

功能接口:多维数组中存在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

js链接新增(修改)参数页面不刷新

es6语法遍历对象的几种方法介绍

vuejs获取链接参数to.query.name特殊符号+变成空格解决方法

es6语法利用函数将json字符串转为对象

介绍javascript获取url参数的四种方法?

标签: js, url参数, 多维数组, 对象, 链接参数

上面是“js方法实现对象转url参数”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_2273.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > js
本文共计1205个字,预计阅读时长9分钟
生活小工具,收录了80多款小工具
上一篇: 推荐一个可以查询老黄历的网站,可以根据五行取名!
下一篇: 详细介绍HTTP状态码不同之处的原因(什么原因导致的)
x 打工人ai神器