2020-08-12
描述
根据给定对象的键值对生成查询字符串。
提示
- 在
Object.entries(queryParameters)
基础上使用Array.prototype.reduce()
来创建查询字符串 - 基于
queryString
的length
来判断symbol
是否为?
或者&
- 仅当值为一个字符串时,才将 'val' 添加到
queryString
中 - 当
queryParameters
为假值的时候返回空字符串,否则的话返回queryString
代码
const objectToQueryString = queryParameters => {
return queryParameters
? Object.entries(queryParameters).reduce((queryString, [key, val], index) => {
const symbol = queryString.length === 0 ? '?' : '&';
queryString += typeof val === 'string' ? `${symbol}${key}=${val}` : '';
return queryString;
}, '')
: '';
};
示例
将一个对象转换为查询字符串:
objectToQueryString({ page: '1', size: '2kg', key: undefined }); // "?page=1&size=2kg"