gpt4 book ai didi

javascript - 解析另一个对象 Angular 中的字符串值

转载 作者:行者123 更新时间:2023-12-02 21:05:54 25 4
gpt4 key购买 nike

我有一些像这样的字符串

 const resultComing ='access_token=test&token_type=bearer&state=state&expires_in=43199&scope=test';

我需要传递给如下所示的对象

const result: any = {
access_token: test,
token_type: bearer,
state: state,
expires_in: 43199,
scope: test
};

我已经尝试过这样的

const result: any = resultComing.split('&').reduce(function (result: any, item: string) {
const parts = item.split('=');
result[parts[0]] = parts[1];
}, {});

但我收到错误,TypeError:无法设置未定义的属性“token_type”

最佳答案

你的函数不起作用,因为正如 Niet 所说,你不会从 Array.reduce() 返回任何内容。函数,因此下次迭代时,结果将是未定义的。

要修复它,只需在最后返回结果即可:

const result: any = resultComing.split('&').reduce(function (result: any, item: string) {
const parts = item.split('=');
result[parts[0]] = parts[1];
return result;
}, {});

如果您不需要箭头功能,您还可以使用简单的循环来遍历您的对:

let obj: any = {};
let pairs = resultComing.split('&');

for (let pair of pairs) {
let parts = pair.split('=');
obj[parts[0]] = parts[1];
}

Playground Link

关于javascript - 解析另一个对象 Angular 中的字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61228817/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com