简体   繁体   English

toLowerCase 不是函数

[英]toLowerCase is not a function

How do I make this include words from the array that has uppercase letters?如何使它包含数组中具有大写字母的单词?

const array = ["amassment", "amassments", "Amasta", "amasthenic", "amasty", "amastia", "AMAT", "Amata", "amate"]
const word = array.filter(m=> m.includes(args[0]))
const wrd = word.toLowerCase()

if(!wrd) return message.delete()

console.log(`${wrd}`)

When my args[0] is "am", it only sends "amassment" , "amassments" , "amasthenic" , "amasty" , "amastia" , "amate" .当我的 args[0] 是“am”时,它只发送"amassment" "amasthenic" 、“amassments "amassments" 、“amasthenic”、 "amasty""amastia""amate" It doesn't include words in uppercase at all.它根本不包含大写单词。
Even though I added the .toLowerCase() , I get an error word.toLowerCase() is not a function .即使我添加了.toLowerCase() ,我也会收到错误word.toLowerCase() is not a function I need help.我需要帮助。

You have to call toLowerCase() inside filter function.您必须在过滤器函数中调用 toLowerCase() 。

const word = array.filter(m=> m.toLowerCase().includes(args[0]))

If your args also needs to be lower cased and included, you can use the below approach to check如果您的 args 也需要小写并包含在内,您可以使用以下方法进行检查

const word = array.filter(m=> m.match(new RegExp(args[0],"i")));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM