javascript - 迭代对象时与字符串一起显示未定义
问题描述
当我尝试迭代对象并且我想将其转换为字符串以附加 URL 时,但未定义与字符串一起显示?
这是我将对象转换为字符串的函数
onFormattedFilterChange(urlParams) {
let formattedParams;
Object.keys(urlParams).forEach((item, i) => {
formattedParams += '&' + item + '=' + urlParams[item];
});
}
我的 urlParams 在哪里
{projectType: "FP", status: "COMPLETE", code: "SG", executionType: "INTERNAL"}
我想要字符串形式的
&projectType=FP&status=COMPLETE&code=SG&executionType=INTERNAL
但不是这个,而是显示
undefined&projectType=FP&status=COMPLETE&code=SG&executionType=INTERNAL
为什么显示未定义?
解决方案
正如我在评论中提到的,您需要初始化 formattedParams。
但我建议你使用内置的 URLSearchParams
const urlParams = {"projectType": "FP", "status": "COMPLETE", "code": "SG", "executionType": "INTERNAL"}
var formattedParams= new URLSearchParams();
for (key in urlParams) {
formattedParams.append(key, urlParams[key]);
}
console.log(formattedParams.toString())
推荐阅读
- java - 数据属性的 Xss 配置
- performance - Entity Framework Core 插入多个实体类似于 SQL 单插入语句
- html - Chrome 和 Firefox 中的导航栏样式正常,但在 IE 中我有问题
- java - 如何解决此 GMS ApiExcpetion:错误代码 12500?
- python - 为什么我的代码没有附加这些结果?
- json - Django 数据到 JsonResponse
- cmd - 为什么我的 Intermec 打印机打印之前打印的标签并且只存储当前标签直到下次打印?
- javascript - 如何使输入类型列表只接受列表选择?
- php - 如何在 PHP 中创建模型类?
- python - 数据框从列列表中过滤 Null 值