URLSearchParams 构造函数有很多实用的方法来处理 URL 的查询字符串
URLSearchParams构造函数 通过new实例化,并传入查询的字符串
前提 必须传入以下格式的字符串
const formatParam = '?id=1234&age=18&id=789' //一般配合location.search使用
const params = new URLSearchParams(formatParam)
URLSearchParams上的方法
- has() 查询指定键名是否存在 返回一个Boolean值
params.has('id') // true
- get() 获取指定搜索参数的第一个值
params.get('id') // '1234'
- getAll()获取指定搜索参数的所有值,返回是一个数组
params.getAll('id') // ['1234','789']
- toString() 返回搜索参数组成的字符串,可直接使用在URL上。
params.toString() // 'id=1234&age=18&id=789' 如果url上含有中文字符 需要进行decode处理
- append() 插入一个指定的键/值对作为新的搜索参数
params.append('name','jack') // ?id=1234&age=18&id=789&name=jack
- delete() 从搜索参数列表里删除指定的搜索参数及其对应的值,所有符合条件的都会被删除。
params.delete('id')
params.toString() // age=18
- set() 设置一个搜索参数的新值,如果原来有多个值将删除其他所有的值。
params.set('id','000')
params.toString() //id=000&age=18
- entries() 返回一个iterator,允许遍历该对象中包含的所有键/值对 可以使用for of 进行循环