用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