gpt4 book ai didi

javascript - 如何进行不区分大小写的搜索?

转载 作者:行者123 更新时间:2023-12-01 01:15:04 25 4
gpt4 key购买 nike

原始代码如下:(区分大小写)

function searchValue() {
let srchString = ''

var searchField = $('#search').val().trim();
let srchVal = data.filter(val => val.name.includes(searchField))
srchVal.forEach((item) => {
srchString += `<a class="list-item" href="${item.url}">${item.name}</a>`
})
$('#resultDiv').empty().append(srchString)
}

let data = [
{
"name": "Senior Officer Trade Back Office",
"url": "https://www.blockworks.com/senior-officer-trade-back-office-1061445-jv/?source=searchResults&searchType=1&placement=1&sortBy=date"
},
{
"name": "Junior Officer Trade Back Office",
"url": "https://www.blockworks.com/junior-officer-trade-back-office-1061443-jv/?source=searchResults&searchType=1&placement=2&sortBy=date"
},
{
"name": "Machine Learning",
"url": "https://www.blockworks.com/5-machine-learning-1061442-jv/?source=searchResults&searchType=1&placement=3&sortBy=date"
}
]

我尝试使用 toLowercase() 使其不区分大小写,代码如下:

function searchValue() {
let srchString = ''
var searchField = $('#search').val().trim();


var searchFieldLower = searchField.toLowerCase();
var shouldToggle = $('#search').text().toLowerCase().indexOf(searchFieldLower) >= 0;
$('#search').toggle(shouldToggle);

let srchVal = data.filter(val => val.name.includes(searchFieldLower))

srchVal.forEach((item) => {
srchString += `<a class="list-item" href="${item.url}">${item.name}</a>`
})
$('#resultDiv').empty().append(srchString)
}
let data = [
{
"name": "Senior Officer Trade Back Office",
"url": "https://www.blockworks.com/senior-officer-trade-back-office-1061445-jv/?source=searchResults&searchType=1&placement=1&sortBy=date"
},
{
"name": "Junior Officer Trade Back Office",
"url": "https://www.blockworks.com/junior-officer-trade-back-office-1061443-jv/?source=searchResults&searchType=1&placement=2&sortBy=date"
},
{
"name": "Machine Learning",
"url": "https://www.blockworks.com/5-machine-learning-1061442-jv/?source=searchResults&searchType=1&placement=3&sortBy=date"
}
]

我不确定我是否正确使用了toLowerCase(),有人可以告诉我我哪里搞砸了或者该怎么做吗?另外,还有哪些其他方法?

最佳答案

更正这个

let srchVal = data.filter(val => val.name.includes(searchFieldLower))

对此:

let srchVal = data.filter(val => val.name.toLowerCase().includes(searchFieldLower))

这样,每次比较名称时,都会在比较之前将其转换为小写。

关于javascript - 如何进行不区分大小写的搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54838931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com