首页 > 解决方案 > 更改格式为“key=value&...”的字符串中的所有值

问题描述

我有一个字符串:

var data = 'key1=value1&key2=value2&...';

字符串有大量的键值组合。我需要按照某种规则更改所有值 -encodeURIComponent它。我只需要相对于值(可能还有键)这样做,但现在是整个字符串。

是否有完整的算法来做到这一点?

标签: javascripturlencode

解决方案


您可以使用此代码从数据中创建一个对象:

var data="key1=value1&key2=value2&key3=value3";
var obj=Object.fromEntries(
    data.split("&").reduce((acc,cv)=>{
    acc.push(cv.split("="));
    return acc;
  },[])
);
console.log(obj);
.as-console-wrapper { max-height: 100% !important; top: 0; }

然后你可以访问你想要的任何键并获得它的价值,比如:

obj["key2"]

你可能需要unescape价值观。


推荐阅读