javascript - 如何将字符串中的单词与列表中的单词精确匹配?

标签 javascript node.js

我已经研究了 Pokemon API 几天了。

我有一个列出了所有神奇宝贝的数组,并且有一个看起来像这样的字符串“<@user_id pidgeotto>”

我想根据数组检查这个字符串并获取确切的名称

我的问题是,我还得到了包含在内的东西,例如 pidgeot。

如何将数组与字符串精确匹配并仅记录一个名称?

let pokemonArray = ["pidgeot", "pidgeotto", "charizard", "goldeen"];

let y = '<@user_id> pidgeotto';

function handleMessage(message) {
  for (let i = 0; i <= message.length; i++) {
    if (y.includes(message[i])) {
      console.log(message[i])
    }
  }
}

handleMessage(pokemonArray);

没有错误,只是没有得到我想要的结果。

最佳答案

在空格处拆分 y 字符串,并使用 === 比较查看第二部分是否准确

let pokemonArray = ["pidgeot", "pidgeotto", "charizard", "goldeen"];

let y = '<@user_id> pidgeotto';
let yName = y.split(' ')[1];

function handleMessage(message) {
  for (let i = 0; i <= message.length; i++) {
    if (message[i] === yName ) {
      console.log(message[i])
    }
  }
}

handleMessage(pokemonArray);

关于javascript - 如何将字符串中的单词与列表中的单词精确匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57134754/

相关文章:

php - 如何从 Node.js 调用 PHP Web 服务

javascript - Firebase Firestore 获取用户相关数据

javascript - DateFormat 在 Google Annotation Chart 上显示季度数字

javascript - 如何在 alfresco javascript 中比较两个noderef

javascript - 类的静态属性

node.js - 带有 .env 变量的 typeorm 配置

Javascript Promise Chaining - 它被接受了吗?

angularjs - 使用 nginx 和 ssl 配置 prerender.io

node.js - 如何让 jasmine-ts 使用特定种子执行我的规范?

javascript - React 中的 SVG 操作