从Object.fromEntries()结果中取消引用键值.(javascript)



我试图从URL键:值对中获得一个js对象。为此,我使用了" object。fromtries ()"但是当我得到结果时,它返回一个包含所有键的对象,所以当我试图访问它的值时,我得到了一个错误。

请问有人知道怎么解决这个问题吗?

这是代码:

const params = window.location.search;
const obj = Object.fromEntries(new URLSearchParams(params))
console.log(obj);  

…这是它返回的内容:

Object { "user-name": "phill", "user-lastname": "smith" }

如何从:user-name和user-lastname键中删除引号?

不能去掉引号,因为带有特殊字符的键需要引号。但是,您可以使用括号符号obj['user-name']访问它们。

另一个选项是使用URLSearchParams.get():

URLSearchParams

实例获取参数。

const params = 'user-name=phill&user-lastname=smith';
const searchParams = new URLSearchParams(params);
const obj = Object.fromEntries(searchParams)
console.log(searchParams.get('user-name'));
console.log(obj['user-name']);

最新更新