繁体   English   中英

如何从 json 响应中连接来自不同 object 数组的值? Node.js,Discord.js

[英]How do I join values from different object array from a json response? Node.js, Discord.js

所以这是来自 api 包装器 npm ZEFE90A8E604A7C840E888DBA7 的 JSON 响应

    [
      { 
       name: Dank Memer
       id  : 10111
      },

      { 
        name: Poketwo
        id  : 10122
      },
     
      { 
       name: Mudae
       id  : 10445
     }
]

此数据存储在变量resp中,如下所示:

    discord.bots.get(function (err, resp) {
   if(err) { throw err } 
   else {
    console.log(resp)
    } 
})

我需要的是,我希望我的机器人发送一条消息,其中包含数组中的所有三个名称。 喜欢:

Dank Memer
Poketwo
Mudae

我曾尝试使用.forEach() ,但当我使用它时,机器人会显示所有名称,但在不同的消息中,每个都包含来自 JSON 的每个名称 我也尝试过.join() ,但它没有用。

就是这样,我如何加入 JSON 响应中的名称?

你有没有尝试做这样的事情?

discord.bots.get(function (err, resp) {
   if(err) { throw err } 
   else {
    let names = "";
    resp.forEach( user => { names += user.name + '\n\r' } )
    console.log(names)
    } 
})

最快的方法就是:

resp.map(({ name }) => name).join('\n');

这将 map 每个元素按其name属性,然后通过新行连接所有三个。

 const resp = [ { name: 'Dank Memer', id: 10111, }, { name: 'Poketwo', id: 10122, }, { name: 'Mudae', id: 10445, }, ]; const names = resp.map(({ name }) => name).join('\n'); console.log(names);

对于基于 Lioness100 的回答的单行返回

 const resp = [ { name: 'Dank Memer', id: 10111, }, { name: 'Poketwo', id: 10122, }, { name: 'Mudae', id: 10445, }, ]; const names = resp.map((item) => { return item.name }) console.log(names.toString());

暂无
暂无

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

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