将字符串转换为嵌套 JavaScript 对象或 JSON

Han*_*ani 2 javascript string json data-conversion

我有以下字符串:

let str = "modules.mas.mas-helper-provider.assets.locales";
Run Code Online (Sandbox Code Playgroud)

并希望将其转换为嵌套 JavaScript 对象 (JSON),结果如下:

{
  "modules": {
    "mas": {
      "mas-helper-provider": {
        "assets": {
          "locales": ""
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Bal*_*ong 10

您可以将字符串拆分为数组,然后reduceRight通过读取每个键来创建一个对象。

let str = "modules.mas.mas-helper-provider.assets.locales";

var newObject = str.split(".").reduceRight((obj, next) => ({
  [next]: obj
}), "");

console.log(newObject);
Run Code Online (Sandbox Code Playgroud)