簡體   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