我正在比较两个数组中的匹配项,但我需要使它们不区分大小写。
这里是代码:将此代码归功于@PatrickRoberts here
const words = ['word1', 'word2', 'word3']
const texts = [
{name: 'blah', description: 'word4'},
{name: 'blah2', description: 'word1'},
{name: 'blah3', description: 'word5'}
]
console.log(
texts.some(
({ description }) => words.includes(description)
)
)
我可以通过执行 words.includes(description.toLowerCase())
将第二部分转换为小写,但我不知道如何处理第一部分:texts .some(({ description })
我应该提到我曾尝试将 toLowerCase() 添加到 { description } 中,如下所示: { description.toLowerCase() }
但这不起作用
非常感谢任何帮助
最佳答案
切换到函数some
或函数find
或函数findIndex
。
const words = ['Word1', 'word2', 'word3']
const texts = [{ name: 'blah', description: 'word4' }, { name: 'blah2', description: 'word1' }, { name: 'blah3', description: 'word5' }];
console.log(texts.some(({description}) => words.some((w) => w.toLowerCase() === description.toLowerCase())));
关于javascript - JavaScript 中不区分大小写的数组比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54953566/