如何从 json 响应中连接来自不同对象数组的值? Node.js、Discord.js
Posted
技术标签:
【中文标题】如何从 json 响应中连接来自不同对象数组的值? Node.js、Discord.js【英文标题】:How do I join values from different object array from a json response? Node.js, Discord.js 【发布时间】:2021-08-02 19:12:39 【问题描述】:所以这是来自 api 包装器 npm 包的 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 响应的名称?
【问题讨论】:
你在这里“加入”了哪些数据? 【参考方案1】:对于基于 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());
【讨论】:
【参考方案2】:最快的方法就是:
resp.map(( name ) => name).join('\n');
这将通过其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);
【讨论】:
【参考方案3】:您是否尝试过这样做?
discord.bots.get(function (err, resp)
if(err) throw err
else
let names = "";
resp.forEach( user => names += user.name + '\n\r' )
console.log(names)
)
【讨论】:
以上是关于如何从 json 响应中连接来自不同对象数组的值? Node.js、Discord.js的主要内容,如果未能解决你的问题,请参考以下文章