0

私は Discord 用のボットを作成しており、NASA API を使って何かをしようとしています。ただし、すべての画像に著作権はありません。その場合は、「未定義」を別のものに置き換えてください。それは可能でしょうか?

これが私のコードです:

    "nasapic": {
        name: "nasapic",
        help: "Utilisez cette commande pour afficher l'image du jour sur http:///apod.nasa.gov/",
        process: function (bot, msg, suffix) {
          request("https://api.nasa.gov/planetary/apod?date="+suffix+"&hd=True&api_key=NNKOjkoul8n1CH18TWA9gwngW1s1SmjESPjNoUFo", function (error, response, body) {
            if (!error) {
                var nasaPic = JSON.parse(body);
                var msgArray = [];
                msgArray.push("Photographie du " + nasaPic.date + " prise par " + nasaPic.copyright + "\n");
                msgArray.push("Titre : **" + nasaPic.title + "**\n");
                console.log(msg.author.name + " " + "a utilisé la commande /nasapic");
                msgArray.push(nasaPic.url);
                if (nasaPic.code == 400) {
                  bot.sendMessage(msg.channel, ":x: Une erreur est survenue. Rappel de la syntaxe : **YYYY-MM-DD**"); }
                if (nasaPic.copyright == undefined) {
                  nasaPic.copyright.replace("undefined", "test");
                  bot.sendMessage(msg, msgArray); }
                else bot.sendMessage(msg, msgArray);
            }
        });
    }
},

問題があるのは次の 2 行です。

if (nasaPic.copyright == undefined) {
                  nasaPic.copyright.replace("undefined", "test");
                  bot.sendMessage(msg, msgArray); }

ご協力いただきありがとうございます。

4

3 に答える 3

1

最も簡単なことはこれです:

if (!nasaPic.copyright) {
    nasaPic.copyright = "default copyright";
}

唯一の問題は、null、未定義、または空の値がこのメソッドに渡されることです。この状況ではそれが好ましいと思います。それ以外の場合は、typeof を使用する必要があります。

于 2016-06-27T16:47:37.177 に答える