【问题标题】:convert values in a javascript map to all strings将 javascript 映射中的值转换为所有字符串
【发布时间】:2017-12-01 08:24:11
【问题描述】:

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

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"

你能帮我做吗? 谢谢

【问题讨论】:

    标签: javascript typescript dictionary


    【解决方案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)]));
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-17
        相关资源
        最近更新 更多