将javascript地图中的值转换为所有字符串

时间:2017-12-01 08:24:12

标签: javascript typescript dictionary

我正在寻找一种以所有字符串类型的方式转换javascript地图值的好方法。最初我有这个dataObject:

dataObject: 
errorCode: "notFound"
timeOutLen: 5
validUrl: false
numRequest: 0

我转换为地图:

const datamap = new Map(Object.entries(dataObject))

现在出于某种原因,我正在使用的外部代码抛出异常,因为地图值中的某些值如0或false。我想将map中的所有值更改为字符串,并且像这样,以便我可以将此异常传递给日志记录:

new dataObject: 
    errorCode: "notFound"
    timeOutLen: "5"
    validUrl: "false"
    numRequest: "0"
你能帮我做一下吗? 感谢

2 个答案:

答案 0 :(得分:1)

简单的解决方案:

const dataMap = new Map();
for (const k in dataObject)
    dataMap.set(k, String(dataObject[p]));

单表达式解决方案:

const dataMap = new Map(Object.entries(dataObject).map(([k, v]) => [k, String(v)]));

答案 1 :(得分:0)

我正在使用String()函数将值转换为String。

const dataMap = new Map();
Object.keys(dataObject).forEach(key => {
    dataMap.set(key, String(dataObject[key]));
});

console.log(dataMap);