首页 > 解决方案 > 如何将字符串中的单词与列表中的单词完全匹配?

问题描述

几天来,我一直在玩口袋妖怪 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);

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

标签: javascriptnode.js

解决方案


在空格处拆分字符串,并使用比较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);


推荐阅读