繁体   English   中英

如何将 JS 中的对象数组转换为字符串连接?

[英]How can I convert an array of objects in JS into a string concatenation?

我有来自 req.body 的输入,如下所示:

[
    {
        "Name": "Test_1",
        "Level 1": "Story_1",
        "Level 2": "Story_1.1"
    },
    {
        "Name": "Test_2",
        "Level 1": "Story_2",
        "Level 2": "Story_2.2"
    }
]

我想将对象与分隔符连接起来,在我的情况下,分隔符是“>”。 因此,每个 object 所需的 output 是:

 >Test_1>Story_1>Story_1.1>
>Test_2>Story_2>Story_2.2>

您需要使用Object.values按顺序获取所有值,并使用 array.join将它们全部合并

 const data = [ { Name: 'Test_1', 'Level 1': 'Story_1', 'Level 2': 'Story_1.1' }, { Name: 'Test_2', 'Level 1': 'Story_2', 'Level 2': 'Story_2.2' } ] const strings = data.map(toStringLine.bind(null, '>')) console.log(strings) function toStringLine (char, obj) { return `${char}${Object.values(obj).join(char)}${char}` }

您可以获取一组键并维护映射所需结果的顺序。

 const data = [{ "Name": "Test_1", "Level 1": "Story_1", "Level 2": "Story_1.1" }, { "Name": "Test_2", "Level 1": "Story_2", "Level 2": "Story_2.2" }], keys = ["Name", "Level 1", "Level 2"], result = data.map(o => `>${keys.map(k => o[k]).join('>')}>`); console.log(result);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM