javascript - 使用 array.length 创建新的不和谐嵌入字段

标签 javascript arrays embed discord.js

所以我有一个名称数组 let namelist = ['name1', 'name2', 'name3', 'name4', 'name5']; 并且我有一个 for 循环当用户使用命令 $list ame 时,它会对数组进行排序,并抓取其中包含“ame”的任何元素,并将它们推送到新数组 temparray 中。 我的问题是如何制作一个嵌入来获取 temparray.length 并为数组中的每个字符串创建一个新字段?

我尝试过使用 for 循环和 do...while() 循环,但我似乎无法弄清楚如何访问嵌入,因此我可以在循环内使用 addField 。是否可以做到这一点和/或是否有更好的方法可以为每个数组元素添加新行? 这是我没有循环的嵌入代码。我想摆脱那些 .addFields 并将它们放入循环中以实现自动化



if(typeof args[0] === 'string' && args[0].length >= 3){
    let embed = new Discord.RichEmbed()
    .setAuthor("Names containing " + "'" + `${args[0]}` + "'" )
    .addField(temparray[0], `this is ${temparray[0}` )
    .addField(temparray[1], `this is ${temparray[1}`)
    .addField(temparray[2], `this is ${temparray[2}`)
    .addField(temparray[3], `this is ${temparray[3}`)
    .addField(temparray[4], `this is ${temparray[4}`)
    .setColor("#92BA2F")
    .setThumbnail(bot.user.avatarURL)
    .setTimestamp(Date.now())
    message.channel.send(embed);
}


最佳答案

简单,就.addField()在循环中的嵌入变量上。

let embed = new Discord.RichEmbed()
  .setAuthor("Names containing " + "'" + `${args[0]}` + "'" )
  .setColor("#92BA2F")
  .setThumbnail(bot.user.avatarURL)
  .setTimestamp(Date.now());
temparray.forEach(entry => {
  embed.addField(entry, 'looped field');
});
message.channel.send(embed);

您不需要为此使用数组的长度,但如果您愿意,可以使用 for (let i = 0; i < temparray.length; i++) .

关于javascript - 使用 array.length 创建新的不和谐嵌入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56717461/

相关文章:

node.js - 在另一个应用程序中嵌入 NodeJs 与 JXCore

javascript - 如何在微模式下更改 ExtJs 树列表中悬停在菜单上的样式

javascript - 随机 API 输出?

javascript - 如何在 Angular 分量中嵌入vimeo视频?

python - 在 C++ 中嵌入 python 时出现模块问题

php - 在二维数组中映射值并对值执行函数

javascript - ng-options 理解表达式不适用于我的数据

javascript - 在 laravel 中通过 javascript 获取信息

Python 结构元素作为数组

Java prefixAverages/array 帮助