我在js中编写了这个函数,以便从数据数组中检索对象数组,但是它没有返回数组中满足查询的所有数据
这是我的数据数组的一部分。2原来的数组包含1536个对象。
const jokes = [
{
"id": 1,
"joke": "What do you call people who pretend to be Irish on St. Patrick's Day? Counterfitz"
},
{
"id": 2,
"joke": "What did one wall say to the other wall? I`ll meet you at the corner."
},
{
"id": 3,
"joke": "I thought about starting a business selling halos... ...but the cost of overheads was too high."
},
{
"id": 4,
"joke": "What happens if you pass gas in church? You have to sit in your own pew."
},
{
"id": 5,
"joke": "What's a dog's favorite mode of transportation? A waggin'"
},
{
"id": 6,
"joke": "Why couldn't the melons be together? Everyone knows melons cantaloupe."
}
]
这是我试过的函数
const findJokes = (query) => {
let jokesFound = jokes.filter((joke) => joke.joke.includes(query))
return jokesFound;
}
当我查询“how”作为一个例子时,它返回了24个对象,但它应该返回132个对象。有没有更好的方法来编写这个函数?
2条答案
按热度按时间dxxyhpgq1#
.includes
方法在搜索句子时使用严格相等,因此“How”与“How”不同。您的代码是正确的,只是需要一个小的修改:
有了这个,你将总是比较小写字母。
qpgpyjmq2#
使用不区分大小写的正则表达式: