我正在寻找一种以所有字符串类型的方式转换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"
你能帮我做一下吗?
感谢
答案 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);