用Javascript将Map转换为JSON对象

因此,我得到了以下javascript,其中包含键/值对,用于将嵌套路径映射到目录。

function createPaths(aliases, propName, path) {

aliases.set(propName, path);

}

map = new Map();

createPaths(map, 'paths.aliases.server.entry', 'src/test');

createPaths(map, 'paths.aliases.dist.entry', 'dist/test');

现在,我要做的是根据地图中的键创建一个JSON对象。

它一定要是,

paths: {

aliases: {

server: {

entry: 'src/test'

},

dist: {

entry: 'dist/test'

}

}

}

不知道是否有开箱即用的方式来执行此操作。任何帮助表示赞赏。

回答:

您可以在地图和键上循环并分配值

function createPaths(aliases, propName, path) {

aliases.set(propName, path);

}

var map = new Map(),

object = {};

createPaths(map, 'paths.aliases.server.entry', 'src/test');

createPaths(map, 'paths.aliases.dist.entry', 'dist/test');

map.forEach((value, key) => {

var keys = key.split('.'),

last = keys.pop();

keys.reduce((r, a) => r[a] = r[a] || {}, object)[last] = value;

});

console.log(object);

以上是 用Javascript将Map转换为JSON对象 的全部内容, 来源链接: utcz.com/qa/435580.html

回到顶部