You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JS/TS中如何将Map按原生格式转为字符串而非JSON对象

Map转原生格式字符串实现方法

我们在需要将Map转为文本字符串时,直接调用toString()或者使用模板字面量都会得到[object Map]的结果,不符合预期。常见的替代方案是先把Map转为普通对象再用JSON.stringify()处理,但这种方法输出的是普通JSON对象格式,无法保留Map原生的key => value格式。

比如我们期望输出的Map格式为:

{ 'key' => 'value' }

而不是如下JSON格式:

{
  "key": "value"
}

可行实现方案

如果可以接受Map的值部分转为JSON格式(比如值本身都是对象的场景),可以使用如下转换函数:

const convertMapToString = (m: Map<string, IGuildCache | object>) => {
    let mapEntries = [...m.keys()]
    return '{\n' + mapEntries.map(k => {
        return '    ' + k + ' => ' + JSON.stringify(m.get(k), null, 2)
    }).join(',\n') + '\n}'
}

内容的提问来源于stack exchange,提问作者Fad F

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 22:06:03