tengo este codigo
const Command = require("../Structures/Command.js"); const Discord = require("discord.js"); const { menu } = require("../data/menu.json"); let x = 0; let menuEmbed = new Discord.MessageEmbed() .setColor("#FFA500") .setTitle("Menu") .setDescription("Here are the cool things you can order with an \"order\" command") for(x < menu; x++;){ menuEmbed.addField( menu[x].charAt(0).toUpperCase() + menu[x].slice(1).replace("_", " "), "```id:" + menu[x] + "```" ); } module.exports = new Command({ name: "menu", description: "Gives you a menu", async run(message, args, client){ message.reply(menuEmbed); } });Lo que quiero que haga es agregar un campo para cada cosa en el menu.json. ¿Es posible?
Si su menu solo se define como una matriz (como sospecho por su comentario), entonces simplemente cambiar el código para el bucle for debería ser suficiente:
for (var entry in menu){ menuEmbed.addField(menu[entry].charAt(0).toUpperCase() + menu[entry].slice(1).replace("_", " "), "```id:" + menu[entry] + "```" ) }O podría usar un bucle forEach simple y deshacerse del iterador:
menu.forEach(food => { menuEmbed.addField(food.charAt(0).toUpperCase() + food.slice(1).replace("_", " "), "```id:" + food + "```" ) })Nota: se dice que
Array.forEaches más lento
Además: tenga en cuenta que hay un número limitado de campos que puede tener una inserción