首页 > 解决方案 > Node.js indexOf 没有返回正确的值

问题描述

所以我构建了一个从 JSON 文件中获取值的不和谐机器人。好吧,随着机器人的成长,人们开始尝试获取 JSON 文件中没有的值,并且它一直在杀死机器人,所以我向机器人添加了 indexOf 函数,但是当值在 JSON 文件中时,它仍然显示 -1。我已经尝试了一切似乎让它抓住正确的索引号,但一切似乎都失败了。

client.defense = require("./stats/defense.json")

if (message.content.startsWith('s!stats defense')){
        const args1 = message.content.slice(16).split();
        const command1 = args1.shift().toLowerCase();
        editedmessage = command1 
        var index = client.defense[editedmessage].Name.indexOf(editedmessage) 
        if(editedmessage /= ''){
            message.channel.send("I don't know how you ended up in here but good job now DM Toasty");
        } else message.channel.send(index); 

{
    "aaron ozark": {
      "Name": "Aaron Ozark",
      "Games": 1,
      "Tackles": 1,
      "Sacks": 0,
      "Passesdefended": 0,
      "Interceptions": 0,
      "ForcedFumbled": 0,
      "FumblesRecovered": 0,
      "Touchdowns": 0,
      "Team": "Vipers",
      "position": "WR",
      "FantasyPoints": 0
    },
    "adelie de pengu": {
      "Name": "Adelie De Pengu",
      "Games": 7,
      "Tackles": 27,
      "Sacks": 1,
      "Passesdefended": 3,
      "Interceptions": 2,
      "ForcedFumbled": 0,
      "FumblesRecovered": 0,
      "Touchdowns": 0,
      "Team": "Wallabies",
      "position": "DB",
      "FantasyPoints": 6.5
    },
    "akashi seijuro": {
      "Name": "Akashi Seijuro",
      "Games": 7,
      "Tackles": 24,
      "Sacks": 1,
      "Passesdefended": 2,
      "Interceptions": 3,
      "ForcedFumbled": 0,
      "FumblesRecovered": 1,
      "Touchdowns": 0,
      "Team": "Aztecs",
      "position": "DB",
      "FantasyPoints": 10
    }
  }

标签: javascriptnode.jsjsonindexof

解决方案


推荐阅读