如何使用res.send()返回Set或Map Object

Bor*_*kes 5 set node.js express

表达@ 4.15.3

router.get('/set-object', async (req, res) => {
    let a = new Set([1, 2, 3]);
    let b = new Map();
    b.set('hello', 'world')
    res.send({a: a, b: b});
})
Run Code Online (Sandbox Code Playgroud)

但我得到结果:

{
    "a": {},
    "b": {}
}
Run Code Online (Sandbox Code Playgroud)

为什么res.send()或res.json()Set或Map是 {}

Ami*_*ner 2

你需要将它们破坏成一个数组

router.get('/set-object', async (req, res) => {
    let a = new Set([1, 2, 3]);
    let b = new Map();
    b.set('hello', 'world')
    res.send({a: [...a], b: [...b]});
})
Run Code Online (Sandbox Code Playgroud)