我有下面的代码
const urlParams = new URLSearchParams(window.location.search);
interface PersonType {
fname: string
lname: string
}
const person: PersonType = {fname:"John", lname:"Doe"};
const newObj = {
newobj: "new value"
}
for(const key in person) {
urlParams.append(key, newObj[key]); //error
}
我应该如何在 for in 循环中声明关键字符串?
在打字稿中,for..in
只会键入正在迭代的键作为string- 不作为被迭代对象的键。自从key
输入为字符串,而不是newobj
,你不能使用newObj[key]
,因为该类型中不存在通用字符串。
Use Object.entries
相反,立即提取键和值,而不是尝试单独遍历键:
for(const [key, val] of Object.entries(newObj) {
urlParams.append(key, val);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)