将javascript映射中的值转换为所有字符串

将javascript映射中的值转换为所有字符串,javascript,typescript,dictionary,Javascript,Typescript,Dictionary,我正在寻找一种转换javascript映射值的好方法,这种转换方式都是字符串类型。最初我有一个数据对象: dataObject: errorCode: "notFound" timeOutLen: 5 validUrl: false numRequest: 0 我通过以下方式将其转换为地图: const datamap = new Map(Object.entries(dataObject)) 现在由于某种原因,我正在使用的外部代码抛出异常,因为映射值中有一些值,如0或false。我想将m

我正在寻找一种转换javascript映射值的好方法,这种转换方式都是字符串类型。最初我有一个数据对象:

dataObject: 
errorCode: "notFound"
timeOutLen: 5
validUrl: false
numRequest: 0
我通过以下方式将其转换为地图:

const datamap = new Map(Object.entries(dataObject))
现在由于某种原因,我正在使用的外部代码抛出异常,因为映射值中有一些值,如0或false。我想将map中的所有值都更改为string,如下所示,以便出于日志记录目的传递此异常:

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

简单的解决方案:

const dataMap = new Map();
for (const k in dataObject)
    dataMap.set(k, String(dataObject[p]));
单一表达式解决方案:

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)]));
我正在使用String()函数将值转换为String

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

console.log(dataMap);