【问题标题】:I needed to make a list in Javascript, but to no avail我需要用 Javascript 列出一个列表,但无济于事
【发布时间】:2022-01-11 01:46:02
【问题描述】:

我正在使用一个 API,我想提取 API URL,为此我做了一个代码,但只出现一个 url,我将给出 API 的 JSON 代码示例。 更不用说标题来了,然后是第一个标题,然后是URL

{
 "items": [
     { "title":"YouTube", "url":"https://www.youtube.com/"}, 
     { "title":"Google", "url":"https://www.google.com/"},
     { "title":"Facebook", "url":"https://www.facebook.com/"},
     { "title":"Github", "url":"https://www.github.com"},
     { "title":"Microsoft", "url":"https://www.microsoft.com"}
 ]
}

不完全是这些url,我拿来做例子的。

我想提取这些信息并留下如下:

[Title](Url)

我希望它看起来像这样,因为标题会变成蓝色,并且当您单击它会转到网站 URL。

我没有成功的代码是这样的:

        let response, channel, info;

        try {
            response = await axios.get(url)
            channel = response.data
            info = channel.items[0]
        }  catch (e) {
            return message.channel.send(`Error`)
        }

  let btn = new disbut.MessageButton()
     .setLabel("Site")
     .setStyle("url")
     .setURL("https://youtube.com")

        const embed = new MessageEmbed()
            .setColor("#ffff00")
            .setDescription(`[${info.title}](${info.url})\n`)

        await message.channel.send({
          embed: embed,
          buttons: btn
          });

这个 info.url 是你获取 URL 的地方,info.title 是你获取标题的地方,只有 1 个问题,只需要 1 个标题和 1 个 url,我希望你把它们都拿走,形成一个在 Discord Bot 中列出

这是代码的结果:

但我希望它看起来像这样: YouTube 谷歌 Facebook Github 微软

所以只有 youtube 出现 我需要你显示至少 1 个,最多 10 个。 当您点击每个标题时,会被重定向到该站点。

【问题讨论】:

  • 您的 JSON 无效。
  • 什么样的 API 给了你无效的 JSON?
  • 你好,我错了,感谢指正,这个Api信息量很大,我去总结一下,结果错了。
  • 好的,你能在你定义info的地方显示代码吗?
  • 是的,我会编辑并放在这里。

标签: javascript json list discord


【解决方案1】:

info只指channel.items[0],也就是第一项

您可以使用<Array>.map 将项目映射为[]() 格式,然后使用<Array>.join 将它们连接成一个由换行符分隔的字符串。

.setDescription(channel.items.map(info => `[${info.title}](${info.url})`).join('\n'))

【讨论】:

    【解决方案2】:

    您需要将items 数组格式化为Markdown list。

    Mapchannel.items 数组到列表项字符串数组,然后用换行符将整个事物连接在一起。

    .setDescription(
      channel.items.map(info => `* [${info.title}](${info.url})`).join("\n")
    )
    

    【讨论】:

      猜你喜欢
      • 2021-10-05
      • 1970-01-01
      • 2012-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多